FAT временные метки разрешения даты в Windows

Согласно Википедии, FAT32 имеет разрешение даты 2 секунды для последнего измененного времени. Это время файла можно получить в WinAPI и как DateTime в C# с помощью File.IO, оба из которых это касается.

Что означает разрешение даты на практике? Означает ли это, что он может помечать только время последнего измененного файла с интервалом в 2 секунды, или это означает, что даты, которые он помечал, являются точными только в течение 2 секунд?

Другими словами (используя yyyy-MM-dd HH:mm:ss:fffffffDateTime формат в качестве примеров), делает это...

  1. Отметка времени такая, что она ограничена 2-секундными четными интервалами времени, такими как: 2015-07-16 14:28:36:0000000, 2015-07-16 14:28:38:0000000, 2015-07-16 14:28:40:0000000

...или же...

  1. Произвольно отметка времени, просто время точное только в пределах определенного интервала: 2015-07-16 14:28:36:1234567 - это означает, что последняя запись могла произойти где-то за 2 секунды до этого времени (2015-07-16 14:28:34:1234567) вплоть до 2 секунд после этого времени (2015-07-16 14:28:38:1234567)?

  2. Что-то другое?

1 ответ

Решение

Это означает, что количество секунд во времени может быть только четным целым числом.

Запись каталога для файловой системы FAT имеет только 5-битное поле для хранения количества секунд во времени. Это ограничивает число, хранящееся в поле, диапазоном 0-31, который умножается на два, чтобы получить количество секунд. (Значения 30 и 31 в этом поле недействительны.)

Другие вопросы по тегам