由stat()报告的上次修改时间根据夏令时而变化

我的文件的最后修改时间根据我的系统的夏令时设置而改变了3600秒(一小时)。 stat的文档指出mtime是从时代开始以秒为单位测量的。 因此,mtime不应该依赖于DST。

这导致我的应用程序检测/报告文件不应该不同。

所描述的行为是影响NTFS文件系统的Windows“功能”(或视您的观点而定的故意错误 )。 该行为是由Microsoft的C运行时中的stat函数的实现引起的,并由perl继承。

Win32 :: UTCFileTime模块提供了替代Windows中的行为的内置statlstatutime函数。 该模块的文档还包含对问题的深入描述,以及为什么按照原样进行实施。