netch80: (Default)
[personal profile] netch80
Цитируем Posix:

===
Epoch

The time zero hours, zero minutes, zero seconds, on January 1, 1970
Coordinated Universal Time (UTC).
===

Смотрим в википедию - с 1970-го года в UTC было 24 вставных секунды (leap seconds).

Проверяем системные часы:

>>> a = (10*366+29*365)*86400
>>> a
1230768000
>>> import time
>>> time.gmtime(a)[0:6]
(2009, 1, 1, 0, 0, 0)

то есть никто не применял коррекцию по ним.

Первый вопрос - покажите мне хоть один юникс или одну Windows, чтобы честно реализовывала UTC, а не UT1 или UT2?

Второй вопрос - а нафига этот UTC нужен в практической машинной реальности?

Date: 2009-11-13 10:29 pm (UTC)
From: [identity profile] netch80.livejournal.com
Вообще, я думаю, что они пошли не совсем корректным путём. Если unixtime всегда 86400 на сутки, но неровных секунд - надо было честно сказать про UT вместо UTC (какой именно - UT1, UT2 - уже пофиг) и делать корректировку реальной длины секунды, всё равно системы в мире синхронизируются по сети первичных источников NTP...

Date: 2009-11-13 10:35 pm (UTC)
From: [identity profile] dmitry-vk.livejournal.com
Да, путь не совсем корректен, но мне лично он больше нравится, чем Unix.
Секунды в UT* и Unix считаются атомными: все секунды абсолютно одинаковые по длине.
Как известно, не существует корректного способа подсчета времени. Все они компромиссные. Если секунды неровные, то нарушается синхронизация с UTC (секунды уже приняты и считаются по атомным часам). Если дни нецелые или же целые, по с переменной, то это неудобно. В любом случае, кто-то будет недоволен.

Date: 2009-11-13 10:38 pm (UTC)
From: [identity profile] dmitry-vk.livejournal.com
Да, вроде в POSIX (или в glibc, не уверен точно) можно получать время, используя различные способы подсчета времени, в зависимости от потребностей.

Date: 2009-11-13 10:47 pm (UTC)
From: [identity profile] netch80.livejournal.com
POSIX - точно нет. Если не считать хаки с подменой TZ в окружении и передёргом tzset().
glibc, насколько я видел, тоже явного интерфейса для этого не предоставляет...

Date: 2009-11-13 11:33 pm (UTC)
From: [identity profile] sla29970.livejournal.com
Pardon the English, but this may help explain why the usage of UTC is confused

http://www.ucolick.org/~sla/leapsecs/epochtime.html

Date: 2009-11-14 06:54 am (UTC)
From: [identity profile] netch80.livejournal.com
ROTFL! вот вам и universal...

Date: 2009-11-14 06:57 am (UTC)
From: [identity profile] netch80.livejournal.com
Спасибо за комментарий. Отличный пример, кстати, что часто никакое гугление не помогает само по себе выйти на правильный ответ, потому что нужно заранее себе представлять, что ищешь и как...

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 08:46 pm
Powered by Dreamwidth Studios