eddy_em: (Костерок)
[personal profile] eddy_em
Позор мне! Гугол не дал мне ответа на этот вопрос...
Суть проблемы: ни UNIX-time, ни юлианская дата не учитывают високосных секунд (юлианская дата еще и некоторых високосных дней не учитывает). Поэтому отняв время события А из времени события Б мы не получим реальной разницы во времени между ними.
Неужто нет такой сишной системной функции, которая это считает, используя tzdata и нужно парсить этот файл самому?

UPD. Решение было у меня под носом: это умеет libSOFA.

Date: 2016-12-30 05:08 pm (UTC)
From: [identity profile] t-mike.livejournal.com
в таком случае используйте right tzdata и стандартные функции
/usr/share/zoneinfo/right/

Date: 2016-12-30 05:10 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Ну, проблема уже отпала, как я приписал.
> /usr/share/zoneinfo/right/
У меня такой директории нет.

Date: 2016-12-31 06:57 am (UTC)
From: [identity profile] t-mike.livejournal.com
хм... должна быть, может tzdata у вас где-то ещё, или пакет отдельный
и ещё, более правильно для имзмерения отрезков времени использовать монотонные шкалы, прада это не всегда удобно

Date: 2016-12-31 07:04 am (UTC)
From: [identity profile] eddy-em.livejournal.com
Сама директория принадлежит пакету timezone-data:
equery b /usr/share/zoneinfo/      
 * Searching for /usr/share/zoneinfo/ ... 
sys-libs/timezone-data-2016h (/usr/share/zoneinfo)

Директория /usr/share/zoneinfo/right/ в состав пакета не входит.
Да и все равно: "СОФА" умеет вычислять атомное время, а по разнице двух атомных времен можно определить точный промежуток между событиями.

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 29th, 2025 07:40 am
Powered by Dreamwidth Studios