time_t nlen = 1271152621;
CTime time(nlen);
TRACE("%d:%d:%d:%d:%d", time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute());
SYSTEMTIME systime;
FILETIME filetime, localfiletime;
// 首先需要将CTime转换为SYSTEMTIME来表示
time.GetAsSystemTime(systime);
// 然后使用SystemTimeToFileTime转换为FILETIME
SystemTimeToFileTime(&systime, &filetime);
// 接着可以使用FileTimeToLocalFileTime将UTC转换为本地时间
FileTimeToLocalFileTime(&filetime, &localfiletime);
// 最后转换回SYSTEMTIME
FileTimeToSystemTime(&localfiletime, &systime);
// 并紧接着重新赋值给CTime
time = systime;
TRACE("%d:%d:%d:%d:%d", time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute());
上面的办法很老套了,还有一种办法就是 60*60*24 这个就是一天。
本文介绍了一种从CTime对象转换到FILETIME再转回的方法,并通过系统时间进行验证。此外,文章还提到了一种简单的时间计算方式,即用60*60*24表示一天的秒数。
512

被折叠的 条评论
为什么被折叠?



