[旧帖]
[求助]使用FileTimeToSystemTime时遇到的时区问题
0.00雪花
发表于:
2011-8-27 18:02
2581
[旧帖] [求助]使用FileTimeToSystemTime时遇到的时区问题
0.00雪花
最近遇到要修改文件时间,过程中用到了FileTimeToSystemTime这个API函数
该函数的功能大概就是将FILETIME结构中的时间转化为系统时间SYSTEMTIME结构:
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;
在我的测试程序中将固定的一个FILETIME转化为SYSTEMTIME后,得到的时间是2011年5月23日1点56分58秒
而文件的真实修改时间是2011年5月23日9点56分58秒
明显一看少了8个小时,所以返回的时间是UTC时间,相差8个小时
接下来,我将系统时区该为其他时区,再运行程序得到的结果还是:
2011年5月23日1点56分58秒
这我就迷惑了,为啥我改了时区后还是9点呢?还是相差8个小时呢?照理相差的应该是我修改的时区啊?难道系统还有什么内置的时区没有修改到导致还是8个小时的时差?
希望有人能解惑,谢谢!!
附件是测试程序,大家可以修改时区后测试,FILETTIME的值是我指定的文件修改时间为2011年5月23日9点56分58秒
的值
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
上传的附件: