我的文件的最后修改时间根据我的系统的夏令时设置而改变了3600秒(一小时)。 stat
的文档指出mtime是从时代开始以秒为单位测量的。 因此,mtime不应该依赖于DST。
这导致我的应用程序检测/报告文件不应该不同。
所描述的行为是影响NTFS文件系统的Windows“功能”(或视您的观点而定的故意错误 )。 该行为是由Microsoft的C运行时中的stat
函数的实现引起的,并由perl继承。
Win32 :: UTCFileTime模块提供了替代Windows中的行为的内置stat
, lstat
和utime
函数。 该模块的文档还包含对问题的深入描述,以及为什么按照原样进行实施。