Время для Linux в 2038 году истекает, что тогда?

Многие знают, что время Linux хранится в секундах с 1970 года. Это поле времени взрывается около 2032 года и больше не может использоваться. Я подумываю написать новое приложение, которое отслеживает время последнего чтения файла в Android 7.1.1, в котором используется Linux Kernel 3.18.

Я еще не занимался программированием / ведением записей, связанных со временем (датой), и мне интересно, есть ли новый формат 64-битных целых чисел или что-то, что я могу использовать сейчас. Я бы написал функцию обратной совместимости для текущего 32-битного поля Seconds, которое в настоящее время используется в Ubuntu.

Обратите внимание, что это не вопрос об Android, который не по теме. Я буду разрабатывать мой bash-скрипт в Ubuntu с использованием Linux 4.14 или 5.3, который обращается к Linux 3.18, используемой в Android через USB.

Я знаю, что до взрыва Linux еще 19 лет, но мне нравится проверять свои вещи в будущем, не меняя их позже или, по крайней мере, облегчить будущие изменения кода. Поскольку я кодирую уже более 30 лет, шансы на успех велики, и я все еще буду любить заниматься этим 20 лет спустя.

Некоторые примеры из Википедии :

  • Windows: с 1 января 1601 по 14 сентября 30,828
  • Unix и POSIX: с 1 января 1970 года по 292,277,026,596 н.э.

Я думаю, что формат Unix и POSIX до 292 миллиардов лет переживет солнце, а это значит, что к тому времени мы оторвемся от земли и в любом случае получим новый календарь. Плюс хорошие шансы, что мои программы устареют через 292 миллиарда лет.

Где я могу найти стандарт для будущего формата Linux Time? Или хотя бы краткий список предлагаемых стандартов?

0
задан 21 September 2019 в 03:32

1 ответ

, Где я могу найти стандарт для будущего Формата времени Linux?

$ cat xx.c
#include <stdio.h>
#include <time.h>
#include <sys/stat.h>

    void
main(void) {
    auto time_t t;
    auto struct stat s;
    printf("%d %d\n", (int)sizeof(t), (int)sizeof(s.st_mtime));
}

$ cc xx.c && ./a.out
8 8

Тип (time_t) уже - 8 байтов, соответствуя тому, что Вы перечисляете как "Unix и POSIX" стандарт.

, Что заставляет Вас думать потребности Linux определить новый стандарт?

3
ответ дан 23 October 2019 в 11:06

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

Похожие вопросы: