Intereting Posts
как найти файл с именем, не указанным в bash? Как я могу упростить эту команду только для использования awk? Использование \ $ в конце имени переменной передается grep Усреднение по многим строкам данных Какой самый быстрый способ получить n-ю строку текстового файла Сделать бинарный исполняемый файл доступным для всех пользователей Что такое надежный / правильный способ установки имени хоста и домена в CentOS Невозможно объяснить записи «аварии» в выводе команды «последний» Могу ли я видеть изображения и смотреть фильмы внутри эмулятора терминала Получение diff (или git diff) для корректного отображения вставленных hunks Внутренние спецификации Red Hat Совершенно пиксельные шрифты в Emacs Почему обратная косая черта преобразуется в пространство в выражении эха, если IFS = '\'? Может ли Asterisk воспроизводить звуки в звуковой системе Marantz? Есть ли какое-либо преимущество в использовании аргумента -j2 при создании Linux-систем в VirtualBox?

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

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

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

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

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