![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Позор мне! Гугол не дал мне ответа на этот вопрос...
Суть проблемы: ни UNIX-time, ни юлианская дата не учитывают високосных секунд (юлианская дата еще и некоторых високосных дней не учитывает). Поэтому отняв время события А из времени события Б мы не получим реальной разницы во времени между ними.
Неужто нет такой сишной системной функции, которая это считает, используя tzdata и нужно парсить этот файл самому?
UPD. Решение было у меня под носом: это умеет libSOFA.
Суть проблемы: ни UNIX-time, ни юлианская дата не учитывают високосных секунд (юлианская дата еще и некоторых високосных дней не учитывает). Поэтому отняв время события А из времени события Б мы не получим реальной разницы во времени между ними.
Неужто нет такой сишной системной функции, которая это считает, используя tzdata и нужно парсить этот файл самому?
UPD. Решение было у меня под носом: это умеет libSOFA.
no subject
Date: 2016-12-30 07:01 am (UTC)(no subject)
From:no subject
Date: 2016-12-30 09:27 am (UTC)http://segfault.kiev.ua/~netch/articles/time-counting.html
Я не знаю, решит ли он твою проблему (он большой и я не помню его целиком), просто это самая объемная и подробная работа по учету времени в юникс-системах, которую я знаю.
Еще гугол что-то вроде бы недавно изобретал для коррекции leap seconds.
(no subject)
From:no subject
Date: 2016-12-30 05:08 pm (UTC)/usr/share/zoneinfo/right/
(no subject)
From:(no subject)
From:(no subject)
From: