FAT временные метки разрешения даты в Windows
Согласно Википедии, FAT32 имеет разрешение даты 2 секунды для последнего измененного времени. Это время файла можно получить в WinAPI и как DateTime
в C# с помощью File.IO
, оба из которых это касается.
Что означает разрешение даты на практике? Означает ли это, что он может помечать только время последнего измененного файла с интервалом в 2 секунды, или это означает, что даты, которые он помечал, являются точными только в течение 2 секунд?
Другими словами (используя yyyy-MM-dd HH:mm:ss:fffffff
DateTime
формат в качестве примеров), делает это...
- Отметка времени такая, что она ограничена 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
)?Что-то другое?
1 ответ
Это означает, что количество секунд во времени может быть только четным целым числом.
Запись каталога для файловой системы FAT имеет только 5-битное поле для хранения количества секунд во времени. Это ограничивает число, хранящееся в поле, диапазоном 0-31, который умножается на два, чтобы получить количество секунд. (Значения 30 и 31 в этом поле недействительны.)