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] bambr77.livejournal.com 2011-11-14 01:53 pm (UTC)(link)
А "начало сегодняшнего дня" от таймзоны не зависит разве? Сколько-то секунд от 00:00 ГМТ до 00:00 наших проходит же :)

[identity profile] nealar.livejournal.com 2011-11-14 01:58 pm (UTC)(link)
Кто б мне рассказал, как там хотя бы без таймзон работать. С моей точки зрения, время бывает в двух форматах: строка "ч:м:с" либо число секунд (если хочется, то нецелое), но авторы либ всегда считают иначе.

Расскажите, а? Я вам за это песенку спою: http://prostopleer.com/search?q=artist%3A%D0%A4%D1%80%D0%BE%D0%BD%D1%82+track%3A%D0%9F%D0%B0%D1%83%D0%BA%D0%B8

[identity profile] blacklion.livejournal.com 2011-11-14 02:02 pm (UTC)(link)
Нет. Потому что это время в секундах с события. А интервалы воремени )как изменряемые секундомером) не зависят от временных зон.

[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 года в Гринвиче.

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:27 pm (UTC)(link)
окстись, у него же винда на компе!

[identity profile] blacklion.livejournal.com 2011-11-14 02:28 pm (UTC)(link)
И что? time_t time(timet *t) от этого не меняется.

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

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:32 (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:37 (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:42 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2011-11-14 15:02 (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:41 (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:43 (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:45 (UTC) - Expand

(no subject)

[identity profile] blacklion.livejournal.com - 2011-11-14 14:47 (UTC) - Expand

[identity profile] themech.livejournal.com 2011-11-14 02:22 pm (UTC)(link)
ребе решил написать Какти на хаскеле?

[identity profile] metaclass.livejournal.com 2011-11-14 02:28 pm (UTC)(link)
Не, хочу график температуры и давления рисовать на линуксе и без вудуизма. А то он сейчас на F#+SQL+батники и rrdtool рисуется, меня это бесит.

[identity profile] themech.livejournal.com 2011-11-14 03:20 pm (UTC)(link)
и всетаки чем плох готовый Какти?

[identity profile] metaclass.livejournal.com 2011-11-14 06:33 pm (UTC)(link)
Как вы, прости господи, утомите своим "готовым".

Cacti умеет парсить протокол моего самодельного девайса из коробки, отдавать текущее значение показаний веб-сервисом, ставится за одну минуту на винду и линукс без зависимостей?

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

(no subject)

[identity profile] themech.livejournal.com - 2011-11-14 20:28 (UTC) - Expand

(no subject)

[identity profile] thesz.livejournal.com - 2011-11-14 20:44 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-15 05:23 (UTC) - Expand

[identity profile] http://users.livejournal.com/_slw/ 2011-11-14 02:26 pm (UTC)(link)
нехуй пользоваться виндой

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

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 14:46 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 14:49 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 14:54 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 15:15 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 15:22 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 15:31 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 15:34 (UTC) - Expand

(no subject)

[identity profile] nealar.livejournal.com - 2011-11-14 15:50 (UTC) - Expand

[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)
Раз уж у ребе данные - температура и давление - то логично показывать дату и время в точке измерения, и пофиг откуда там кто смотрит.

(no subject)

[identity profile] victor bolshakov - 2011-11-16 07:08 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2011-11-16 07:50 (UTC) - Expand

[identity profile] victor bolshakov (from livejournal.com) 2011-11-15 07:21 pm (UTC)(link)
так тогда уже нужно нормальную либу для rrd юзать, а не через комманд лайн.

[identity profile] metaclass.livejournal.com 2011-11-15 07:37 pm (UTC)(link)
Либа есть, но ее биндинг в хаскель через FFI выглядит не очень приятно, я не уверен что оно не сломается на пустом месте.

[identity profile] victor bolshakov (from livejournal.com) 2011-11-15 08:34 pm (UTC)(link)
ты всеравно не энтерпрайзно делаеш - ты должен сделать девайс, который бы устанавливал с компом PPP, там IP и по SNMP отдавать данные. Ну или в крайнем случае как тут: http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%20%28AVR%29_eng.htm

[identity profile] metaclass.livejournal.com 2011-11-16 04:29 am (UTC)(link)
POE девайсы делать напряжно и адаптеры дорого, беспроводные модули все равно как-то адаптировать к компу пришлось бы, а так все из подручных материалов.
Впрочем, езернет было бы удобнее, возможно.

(no subject)

[identity profile] victor bolshakov - 2011-11-16 07:22 (UTC) - Expand