using RTCSync.Utils; namespace RTCSync.Models; public class TimeModel(ReadOnlySpan rtcBytes) { private static int CalculateHours(ReadOnlySpan rtcBytes) { var hours = 0; if (TimeModelBI.TwentyHourBI.Take(rtcBytes) == 1) { hours = 20; } else if (TimeModelBI.TenHourBI.Take(rtcBytes) == 1) { hours = 10; } hours += TimeModelBI.HourBI.Take(rtcBytes); return hours; } public DateTime Time = new DateTime( 2000 + TimeModelBI.TenYearBI.Take(rtcBytes) * 10 + TimeModelBI.YearBI.Take(rtcBytes), TimeModelBI.TenMonthBI.Take(rtcBytes) * 10 + TimeModelBI.MonthBI.Take(rtcBytes), TimeModelBI.TenDateBI.Take(rtcBytes) * 10 + TimeModelBI.DateBI.Take(rtcBytes), CalculateHours(rtcBytes), TimeModelBI.TenMinutesBI.Take(rtcBytes) * 10 + TimeModelBI.MinutesBI.Take(rtcBytes), TimeModelBI.TenSecondsBI.Take(rtcBytes) * 10 + TimeModelBI.SecondsBI.Take(rtcBytes), DateTimeKind.Local ); }