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:32 pm (UTC)(link)
Оно, если по хорошему, должно единообразно работать и на линуксе и на винде.
Впрочем, какое время при этом должен показывать rrdtool, вопрос остается открытым - потому как температура на улице заметно зависит от локального времени, rrdtool внутри себя хранит все в utc, местным жителям надо показывать локальное время, а людям из других временных зон - вообще неизвестно что :)

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:37 pm (UTC)(link)
оно единообразно работает в том случае, когда cmos в utc. это с виндой вроде как невозможно.

[identity profile] metaclass.livejournal.com 2011-11-14 02:39 pm (UTC)(link)
Ну если getCurrentTime возвращает под линуксом utc из CMOS, а под виндой корректирует его на временную зону - почему бы и нет.

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

[identity profile] nealar.livejournal.com 2011-11-14 02:43 pm (UTC)(link)
когда cmos в utc. это с виндой вроде как невозможно
а с FBSD вроде как не нужно

[identity profile] nealar.livejournal.com 2011-11-14 02:46 pm (UTC)(link)
Из коробки на BSDшной машине CMOS не в UTC и всё работает.

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:47 pm (UTC)(link)
Из коробки на BSDшной машине CMOS не в UTC

нет, разумеется.

[identity profile] nealar.livejournal.com 2011-11-14 02:49 pm (UTC)(link)
Так почему падвендой должно быть иначе?

[identity profile] nealar.livejournal.com 2011-11-14 02:54 pm (UTC)(link)
"CMOS не в UTC и не всё работает"

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:55 pm (UTC)(link)
у тебя вообще какая-то каша.

[identity profile] nealar.livejournal.com 2011-11-14 03:15 pm (UTC)(link)
У меня, как раз всё нормально.

fbsd - CMOS не в UTC, всё работает
win - CMOS не в UTC, всё работает

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 03:19 pm (UTC)(link)
fbsd - CMOS не в UTC


НЕТ

[identity profile] nealar.livejournal.com 2011-11-14 03:22 pm (UTC)(link)
Что ж тогда sysinstall задаёт вопрос "у тебя правда CMOS не в UTC?" С дефолтом именно "не в UTC"

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 03:25 pm (UTC)(link)
вот именно, задает вопрос.

на который надо обязательно ответить.

потому что скажешь -- то и будет.

[identity profile] nealar.livejournal.com 2011-11-14 03:31 pm (UTC)(link)
Ну я так и говорю "да, не в UTC, в местном времени", и всё работает.

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 03:32 pm (UTC)(link)
Ну я так и говорю "да, не в UTC, в местном времени",

каша

и всё работает.

это я вообще не понимаю к чему.

[identity profile] nealar.livejournal.com 2011-11-14 03:34 pm (UTC)(link)
По третьему разу повторять не буду.

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 03:47 pm (UTC)(link)
неважно сколько раз ты разговариваешь со своими тараканами.

[identity profile] nealar.livejournal.com 2011-11-14 03:50 pm (UTC)(link)
с ящерицами

[identity profile] victor bolshakov (from livejournal.com) 2011-11-15 07:23 pm (UTC)(link)
людям сервер показывает. просто, в лучшем случае рисует локальное время смотрящего. ткущее время для всех одно и то-же - момент "сейчас". Но для сервака это модет быть полночь, а для смотрящего это два часа ночи.

[identity profile] fraks-nsk.livejournal.com 2011-11-16 05:34 am (UTC)(link)
Раз уж у ребе данные - температура и давление - то логично показывать дату и время в точке измерения, и пофиг откуда там кто смотрит.

[identity profile] victor bolshakov (from livejournal.com) 2011-11-16 07:08 am (UTC)(link)
нет. зайдя из, к примеру, японии я увижу, что в два часа было низкое давление - для меня это будет мои два часа, и я буду думать, сколько нужно прибавить или отнять, чтоб узнать восколько-же это было у клиента...

[identity profile] fraks-nsk.livejournal.com 2011-11-16 07:50 am (UTC)(link)
Какая разница сколько времени было в Японии при измерении давления в Минске??
Кроме того, любой автоматизм определения поясного времени и процедура приведения времени к местному - возможноый источник косяков.