Многие знают, что время 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 лет спустя.
Некоторые примеры из Википедии :
Я думаю, что формат Unix и POSIX до 292 миллиардов лет переживет солнце, а это значит, что к тому времени мы оторвемся от земли и в любом случае получим новый календарь. Плюс хорошие шансы, что мои программы устареют через 292 миллиарда лет.
Где я могу найти стандарт для будущего формата Linux Time? Или хотя бы краткий список предлагаемых стандартов?
, Где я могу найти стандарт для будущего Формата времени 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 определить новый стандарт?