Files
2026-06-25 12:19:29 +03:00

32 lines
1.0 KiB
C#

using RTCSync.Utils;
namespace RTCSync.Models;
public class TimeModel(ReadOnlySpan<byte> rtcBytes)
{
private static int CalculateHours(ReadOnlySpan<byte> 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
);
}