📄 systemtime.cs
字号:
using System;
using System.Runtime.InteropServices;
namespace bluetoothX
{
internal struct SYSTEMTIME
{
private ushort year;
private short month;
private short dayOfWeek;
private short day;
private short hour;
private short minute;
private short second;
private short millisecond;
public static SYSTEMTIME FromByteArray(Byte[] array, int offset)
{
SYSTEMTIME st = new SYSTEMTIME();
st.year = (ushort)BitConverter.ToUInt16(array, offset);
st.month = (short)BitConverter.ToInt16(array, offset+2);
st.day = (short)BitConverter.ToInt16(array, offset + 6);
st.hour = (short)BitConverter.ToInt16(array, offset + 8);
st.minute = (short)BitConverter.ToInt16(array, offset + 10);
st.second = (short)BitConverter.ToInt16(array, offset + 12);
return st;
}
public static SYSTEMTIME FromDateTime(DateTime dt)
{
SYSTEMTIME st = new SYSTEMTIME();
st.year = (ushort)dt.Year;
st.month = (short)dt.Month;
st.dayOfWeek = (short)dt.DayOfWeek;
st.day = (short)dt.Day;
st.hour = (short)dt.Hour;
st.minute = (short)dt.Minute;
st.second = (short)dt.Second;
st.millisecond = (short)dt.Millisecond;
return st;
}
public DateTime ToDateTime()
{
if (year == 0 && month == 0 && day == 0 && hour == 0 && minute == 0 && second == 0)
{
return DateTime.MinValue;
}
return new DateTime(year, month, day, hour, minute, second, millisecond);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -