initial commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
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
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user