FILETIME转SystemTime和本地系统时间
需要先将FILETIME转为LocalFileTime
再将LocalFileTime 转为SystemTime 即为本地的系统时间
FILETIME ftcreate;
FILETIME localtime;
ftcreate.dwLowDateTime = -1491005215;
ftcreate.dwHighDateTime = 30690861;
SYSTEMTIME stcreate;
FileTimeToLocalFileTime(&ftcreate, &localtime);
FileTimeToSystemTime(&localtime, &stcreate);
此时
stcreate {
wYear=2018,
wMonth=9,
wDayOfWeek=1,
wDay=17,
wHour=10,
wMinute=25,
wSecond=8,
wMilliseconds=504
}
即2018年9月17日星期一 10:25:08
若直接将FILETIME转为SystemTime会得到Windows的系统时间,就是格林威治时间(UTC-Time)
格林威治时间(UTC-Time)=本地时间减去8个小时
FILETIME ftcreate;
ftcreate.dwLowDateTime = -1491005215;
ftcreate.dwHighDateTime = 30690861;
SYSTEMTIME stcreate;
FileTimeToSystemTime(&ftcreate, &stcreate);
此时
stcreate {
wYear=2018,
wMonth=9,
wDayOfWeek=1,
wDay=17,
wHour=2,
wMinute=25,
wSecond=8,
wMilliseconds=504
}
即2018年9月17日星期一 02:25:08