c++ 系统时间 本地时间 最后访问时间 最后修改时间 详解

本文深入解析Windows中文件时间、系统时间和本地时间的数据结构与转换方法。重点介绍了如何将文件时间转换为本地时间,包括使用FileTimeToSystemTime和SystemTimeToTzSpecificLocalTime函数的步骤,帮助读者理解格林威治时间与本地时间的关系。
  1. 文件时间的数据结构类型为:FILETIME,系统时间和本地时间的数据结构类型为:SYSTEMTIME
  2. 想要了解这三种时间之间的转换,首先要知道格林威治时间的概念,格林威治时间就是一条0度的经线,以这条经线为准,时间向东递增,向西递减。每经过一个时区,依次加/减8,就是相应时区的时间。举个栗子,例如我们在东八区,那我们的时间就是 UTC+8。Windows的系统时间就是格林威治时间,电脑右下角显示的就是本地时间。
  3. 我们如果想要把文件时间转换成本地时间,那么,首先要把文件时间转换成系统时间,系统时间再转化成本地时间。有人会问,为啥不直接用FileTimeToLocalFileTime进行转换,我在用这个函数时,发现第二个参数是LPFILETIME类型的本地时间,本地时间的数据结构是SYSTEMTIME类型的,这就难搞了。所以,先通过FileTimeToSystemTime将时间转换成系统时间,再通过SystemTimeToTzSpecificLocalTime将时间转换成本地时间,perfect~
  4. 上代码:
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值