FreeFileSync 一款开源的文件同步软件

FreeFileSync 用户手册:

夏令时设置 (Windows)

夏令时 (DST)调整的时候,文件同步软件需要处理文件时间加减一小时的问题。 很明显的,当 FAT32- 或者 exFAT 格式的磁盘(后面简称FAT磁盘)文件和 NTFS 磁盘文件比较的时候就会出现这个问题,比如 U 盘和硬盘同步的时候。 尽管文件没有改动,但是对比结果却会提示所有文件的最后编辑时间相差了一个小时。

这是因为 NTFS 和 FAT 存储的文件修改时间格式不同: NTFS 存储的 UTC 格式, FAT 使用本地时间。

所以这两个格式盘上的文件比较的时候,一个格式的文件最后修改日期已经夏令时调整,另外一个格式的文件最后修改日期还是之前的。 无论哪种方式 windows 都是用当前时区时间和夏令时设置计算时间。 最终,当前系统的设置影响了夏令时的计算,也影响了文件最后修改日期的对比。

更多讨论细节可以参考这个帖子:
https://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug

解决办法:

  1. 可以在 FreeFileSync 文件对比设定中设置忽略时间偏移: 如果你需要处理夏令时影响, 输入1小时的时间偏移。 如果是因为时区调整,输入1小时或者更多小时的时间偏移。
    Ignore 夏令时设置 shift

    备注
    时间偏移之后文件的修改时间应该是一致的。 时间偏移和时间间隔、时间差异容差不是一个概念。

  2. 当然你也可以选择通类型的盘同步来避免这个问题,比如 FAT 到 FAT 的盘或者 NTFS 到 NTFS 的盘, 也可以选择把 U 盘 格式化为常用的 NTFS 格式。