为什么文件修改时间在复制到USB时会自动增加2秒?

Chi*_*ata 3 c# windows file-io file

好吧,我有一个奇怪的时刻试图让文件在USB驱动器中修改文件的时间.通常,我认为当文件被复制到USB驱动器时,文件修改时间不会改变.但是,当我将任何文件复制到USB驱动器时,我发现文件修改时间增加了两倍.

然而,在研究中,我发现其他人在网上遇到过这个问题,但我还没有看到任何答案,除了维基百科上的这篇文章,它说明了FAT分区上碎片文件的读写时间,并没有为我澄清一些事情. .

我无法验证是否所有文件都发生了这种情况.但是,我想知道的是文件被复制到USB驱动器时修改时间到底发生了什么的任何官方来源.我自己建议修改代码中的文件修改时间吗?即减去两秒.

Ray*_*hen 14

从NTFS复制到FAT时时间戳更改:

将文件写入驱动器时,FAT驱动器上的文件时间戳将四舍五入到最接近的两秒(偶数).将文件写入驱动器时,NTFS驱动器上的文件时间戳将四舍五入到最接近的100纳秒.因此,FAT驱动器上的文件时间戳始终以偶数秒结束,而NTFS驱动器上的文件时间戳可以以偶数或奇数秒结束.

当文件从NTFS驱动器复制到FAT驱动器时,必须进行一些文件时间戳舍入; 文件时间戳向上舍入到下一秒.

  • 如果NTFS时间是12:00:00.000001,则向上舍入到下一个2秒的倍数将是12:00:02,这是1.999999秒的增加. (3认同)