各类时间转换(FILETIME,time_t,tm,QDateTime,SystemTime,LocalTime)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值