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] metaclass.livejournal.com 2011-11-14 02:04 pm (UTC)(link)
Время в секундах с события до второго события. И это второе, кажется, зависит от временной зоны.

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

[identity profile] greg fefelov (from livejournal.com) 2011-11-14 02:34 pm (UTC)(link)
Ну начало сегодняшнего дня в разных временных зонах в разный момент.

[identity profile] blacklion.livejournal.com 2011-11-14 02:35 pm (UTC)(link)
Да, но стартовое событие не привязано к местному времени вообще: полночь 1 января 1970 года в Гринвиче.