DateModified中的时间由Windows更改

时间:2009-11-02 18:56:21

标签: windows datetime

我刚刚在WinXP SP3 PC上发现了一些奇怪的事情: 当我将系统日期从11月2日(欧洲标准时间)更改为8月2日(欧洲日光时间)时,Windows资源管理器在所有文件夹和文件的DateModified字段中显示不同的时间。

例如: 我今天保存了一个文件,DateModified的值是'02 -11-2009 18:47'。但是当我将systemdate更改为8月2日时,DateModified的值为'02 -11-2009 19:47'。

这不是我的预期! Windows是否有这样做的具体原因?

2 个答案:

答案 0 :(得分:0)

文件修改日期存储为GMT,但使用当前时间设置显示。如果你住在一个夏令时的地区(我打赌你是),时间从10月底的GMT + X + 1切换到GMT + X(X取决于你的时区,在西欧是1 )。

因此,计算机在8月和11月显示日期时使用不同的转换:这会占您看到的1小时差异,具体取决于您计算机的当前日期。

Windows SDK API具有一组用于在GMT时间和特定时区之间进行转换的功能。另外,我似乎记得获取文件修改日期的API总是返回GMT时间。不幸的是,我不认为批处理文件存在这样的工具...尝试将计算机的时区设置为GMT?

答案 1 :(得分:0)

我刚刚安装了更新KB976098(也是KB973688和KB973687)。

“Windows XP更新(KB976098)”的详细信息: “安装此更新可解决由多个国家/地区修订的夏令时和时区法引起的问题。此更新使您的计算机能够在2009年的正确日期自动调整计算机时钟。安装此项后,您可能需要重新启动你的电脑。“

我希望此更新可以解决我原始问题中提到的问题。 不幸的是,它没有。