Windows文件时间戳时区可识别吗?


14

我有一个在发送给我之前或之后被修改的文件。
但是,它是在另一个时区中创建的,因此,如果修改日期在发件人的时区中,则是最后修改它的人。如果是在我的时区,修改了它。

因此,您知道Windows文件修改日期是否可以识别时区吗?

Answers:


17

时区是在某些日历中从“即时”转换为人类可读的日期和时间的人工产物。

计算机不喜欢人类可读的格式(至少不像人类),因此它们通常以区域中立的格式存储即时信息。例如,在NTFS文件系统中,时间戳记存储在UTC中。

因此,只要修改时间知道了当前时间,文件时间修改就会被正确存储。如果您的Windows系统显示“ 13:19”,并且认为该时间位于GMT-5时区,则它将推断当前时刻在UTC中为“ 18:19”,并在NTFS内向中写入尽可能多的时间。但是,如果操作系统显示“ 13:19”,但认为处于格林尼治标准时间+3时区,则操作系统关闭了8个小时,即使对于人看屏幕而言,情况似乎也不错。

另一点是,文件修改时间是存储文件的存储系统(例如文件系统)的属性。当文件被“发送”时,时间并不一定与它一起传播。一些存档格式(例如Zip)将文件修改时间与文件一起嵌入。这不适用于“按原样”发送并附加到电子邮件的文件,不会附带文件修改时间。


它是rar-ed,gpg-ed和通过电子邮件发送的。由于修改的时间戳早于创建的时间戳,因此我认为它可以正确保留。
bastibe 2010年

5

您可以在FILETIME的Microsoft文档中看到一些提示。在结构中没有提供时区,但是文本指出NTFS将所有文件时间存储在UTC中。


4

Windows时间戳可识别时区。但是,您的文件传输机制可能不是。


这可能是个问题...感谢您指出这一点!
bastibe

3
需要澄清的是,时区没有实际字段,但是由于所有时间都存储在UTC中,然后在Explorer中即时转换为本地时间,所以这不是问题。
David Pfeffer

1
从用户体验的角度来看,第一个陈述似乎是正确的,但是从技术角度来看,这完全是错误的。不过,您所做的澄清是正确的,您应该真正编辑答案以直接说明这一点。
quack quixote 2010年

3

作为附录,请注意,尽管来自NTFS或其他文件系统的文件修改日期可能是时区感知的,但EXIF数据(例如,用相机拍摄照片的日期/时间)可能不是,因此也可能不会存储为UTC。可能会很难转换。只是想一想,以防文件创建/修改/ EXIF日期/时间似乎不一致。

我似乎还记得Windows 7在显示EXIF数据方面在以前的版本上进行了改进,即在可能的情况下将用于即时目的的动态转换为当前本地时间。


+1 EXIF通常只存储本地时间,而没有办法指示时区:-(
sleske 2010年

2

请记住,FAT文件系统不支持时区,但是仅当您在具有跨时区的FAT文件系统的设备上携带文件时,这才会影响您。


或者,在夏令时。
布伦丹·亚伯

这同样适用于ZIP归档文件中的文件,因为该格式继承了FAT16时间戳格式(2秒精度,没有时区信息)。
rustyx '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.