Hatred's Log Place

DON'T PANIC!

Sep 6, 2023 - 2 minute read - programming

Временные метки на файловых системах

Короткая заметка и ссылки. Возможно потом дополню информацией о разрешении (resolution) временных меток.

  • FAT/FAT32
    • Хранит локальное время, без указания Timezone. Поменяешь в системе зону - время создания файлов останется без изменений. Т.е. нужно помнить в какой ТЗ они создавались.
    • Windows сохраняет вот прям вот локальное время
    • Linux добавляет час, при переводе часов
    • timestamp:
      • дата 16 битное число: 7 бит - год, 4 бита - месяца, 5 бит - день. Год в диапазоне 1980-2107.
      • время 16 битное число для часов, минут, секунд
  • exFAT:
    • Время хранится локальное. Но есть нюанс.
    • Временная зона хранится в 1 байте. Vista SP1 не использует его. Что бы нормально жилось, старший бит сигнализирует - применять или нет смещение зоны. 0 - не применять. 1 - применять. Остальные 7 бит - 15минутные интервалы для смещения. Положительное направление - на восток.
    • Т.е. если бит 7 в TZ поднят, то система будет пересчитывать время файла в UTC, что бы корректно отобразить в системе при смене часового пояса. Эдакая обратная совместимость.
  • NTFS
    • Время хранится в UTC
  • EXTx (EXT2/3/4)
    • Время хранится в UTC

Полезные ссылки