Почему Unix сохраняет метки времени в значении целого числа?

Почему знаковое целое используется для представления временных меток? В 1970 году есть четко определенный старт, который представлен как 0, так зачем нам нужны номера до этого? Используются ли отрицательные временные метки?

  • Как изменить файл без обновления времени модификации?
  • Скрипт для изменения времени изменения файлов и каталогов рекурсивно
  • Можно ли приостановить системное время?
  • Создайте файл со списком рандомизированных / сериализованных чисел
  • изменение atime, mtime или ctime файла и его предкового каталога?
  • Изменение даты доступа, изменения и изменения файла к той же прошлой дате
  • Могу ли я конвертировать и заменять unix-файлы, хранящиеся в файле с форматом iso 8601?
  • Как изменить формат прошлой метки времени
  • 2 Solutions collect form web for “Почему Unix сохраняет метки времени в значении целого числа?”

    Ранние версии C не имели целых чисел без знака. (Некоторые программисты использовали указатели, когда им нужна арифметика без знака.) Я не знаю, что было раньше, функция time() или неподписанные типы, но я подозреваю, что представление было установлено до того, как беззнаковые типы были общедоступны. И в 2038 году в будущем было достаточно далеко, что, вероятно, не стоит беспокоиться. Я сомневаюсь, что многие люди думали, что Unix все равно будет существовать к тому времени.

    Еще одно преимущество подписанного time_t заключается в том, что расширение его до 64 бит (что уже происходит в некоторых системах) позволяет представлять время в несколько сотен миллиардов лет в будущем, не теряя способности представлять время до 1970 года. (Вот почему я выступаю против переключения на 32-разрядное unsigned time_t , у нас достаточно времени для перехода на 64 бита).

    Он должен поддерживать отметки времени и даты до 1 января 1970 года.

    Linux и Unix - лучшая ОС в мире.