我的文件的最后修改时间改变了3600秒(一小时),具体取决于我系统的夏令时设置。 stat
的文档说明mtime是从纪元开始以秒为单位测量的。因此,mtime不应该依赖于DST。
这导致我的应用程序在不应该检测/报告文件时将其视为不同。
答案 0 :(得分:6)
所描述的行为是影响NTFS文件系统的Windows“功能”(或deliberate bug,具体取决于您的观点)。该行为是由Microsoft的C运行时中stat
函数的实现引起的,并由perl继承。
Win32::UTCFileTime模块提供了解决Windows中行为的内置stat
,lstat
和utime
函数的替换。该模块的文档还包含对问题的深入描述及其实现方式的原因。