According to Wikipedia,對於上次修改時間,FAT32的日期分辨率爲2秒。此文件時間可以在WinAPI中獲得,並且在C#中使用File.IO
作爲DateTime
,這兩者都涉及此問題。Windows上的FAT日期分辨率時間戳
日期分辨率在實踐中意味着什麼?這是否意味着它只能以2秒的時間間隔爲最後一次修改的文件時間加上時間戳,還是說它的時間戳記的日期在2秒內纔是準確的?
換言之(使用yyyy-MM-dd HH:mm:ss:fffffff
DateTime
format作爲例子),不是...
- 時間戳,使得它不限於2-第二偶數的時間間隔,如:
2015-07-16 14:28:36:0000000
,2015-07-16 14:28:38:0000000
,2015-07-16 14:28:40:0000000
...或...
任意時間戳,只是使時間只在一定的時間間隔內是準確的:
2015-07-16 14:28:36:1234567
- 這意味着最後一次寫入可能在此時間之前的2秒內(2015-07-16 14:28:34:1234567
)一直到此時間之後的2秒內(2015-07-16 14:28:38:1234567
)實際發生?還有其他的東西嗎?
請記住,FAT只記錄*本地*時間。它不知道時區。如果您將FAT格式的USB驅動器從一個系統轉移到另一個系統,則不能保證時區匹配。此外,在回退夏令時轉換期間(例如,在美國重複01:00-01:59時),它不能消除時間差異。 NTFS記錄UTC時間,所以它沒有這個問題。 –
@MattJohnson有趣的是,謝謝你的注意。 – Alexandru