metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-11-14 04:50 pm

Временные зоны и epoch

Вопрос: зависит ли результат функции "вернуть количество секунд от epoch на начало сегодняшнего дня" от текущей таймзоны?
Я понял, что без поллитры вопрос таймзон, времен, календарей, а особенно хаскелевых модулей для работы с этим понять нереально.

PS: для начала сойдет:
import Data.Time.Clock
import Data.Time.Clock.POSIX

  do now<-getCurrentTime  
     let starttime = truncate $ utcTimeToPOSIXSeconds $ now {utctDayTime=0}

starttime - целое количество секунд.

Вообще говоря, я делаю либу для работы с RRDtool - она запускает исполняемый файл и кормит его командами через stdin, читая ответы через stdout. Как минимум, создать файло, заполнять его и рисовать графики оно уже умеет.

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:41 pm (UTC)(link)
сферический конь в вакууме.

на практике проверяют только что localtime == текущее время.
попадание в utc при этом происходит в двух случаях:

1) cmos в utc
2) cmos в localtime && timezone правильная.

как легко заметить, второй случай мало того, что сложнее, так еще и от timezone зависит (про что и спрашивалось)

[identity profile] blacklion.livejournal.com 2011-11-14 02:42 pm (UTC)(link)
Ещё раз: на вопрос зависит ли результат функции "вернуть количество секунд от epoch на начало сегодняшнего дня" от текущей таймзоны?
Правильный ответ: нет, не зависит. Но зависит от правильности настрйоки часов у компьютера, что может включать а может не включать настройку таймзоны.

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:46 pm (UTC)(link)
для винды -- включает.
т.е. что бы не зависело -- надо в первую очередь избавиться от винды

[identity profile] metaclass.livejournal.com 2011-11-14 03:02 pm (UTC)(link)
Я вообще спрашивал не про установку таймзоны в OS, а про реальную таймзону (что не обязательно одно и тоже) :)

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 03:07 pm (UTC)(link)
ой. реальная таймзона. и нереальная. или ирреальная? или виртуальная?