- 文件时间的数据结构类型为:FILETIME,系统时间和本地时间的数据结构类型为:SYSTEMTIME
- 想要了解这三种时间之间的转换,首先要知道格林威治时间的概念,格林威治时间就是一条0度的经线,以这条经线为准,时间向东递增,向西递减。每经过一个时区,依次加/减8,就是相应时区的时间。举个栗子,例如我们在东八区,那我们的时间就是 UTC+8。Windows的系统时间就是格林威治时间,电脑右下角显示的就是本地时间。
- 我们如果想要把文件时间转换成本地时间,那么,首先要把文件时间转换成系统时间,系统时间再转化成本地时间。有人会问,为啥不直接用FileTimeToLocalFileTime进行转换,我在用这个函数时,发现第二个参数是LPFILETIME类型的本地时间,本地时间的数据结构是SYSTEMTIME类型的,这就难搞了。所以,先通过FileTimeToSystemTime将时间转换成系统时间,再通过SystemTimeToTzSpecificLocalTime将时间转换成本地时间,perfect~
- 上代码: