根据我系统的夏令时设置,我的文件的最后修改时间改变了 3600 秒(一小时)。stat
说明 mtime 自纪元以来以秒为单位测量的文档。因此,mtime 不应依赖于 DST。
这导致我的应用程序在不应该检测/报告不同的文件时。
所描述的行为是影响 NTFS 文件系统的 Windows“功能”(或故意的错误,取决于您的观点)。该行为是由stat
Microsoft 的 C 运行时中的函数实现引起的,并由 perl 继承。
Win32::UTCFileTime模块提供了用于解决 Windows 中的行为的内置stat
、lstat
和utime
函数的替换。该模块的文档还包含对问题的深入描述以及为什么以这种方式实现它。