Size: a a a

2020 July 12

MK

Matwey Kornilov in ErlangRus
Не хватает обратной к этой функции:
http://erlang.org/doc/man/calendar.html#system_time_to_local_time-2
источник

SP

Sergey Prokhorov in ErlangRus
Matwey Kornilov
Господа, я запутался в API для времени. Хотя вроде как элементарная задача. Я хочу получить system_time следующего за Timestamp полудня по локальному времени.
Ну это лучше через calendar считать. Или можно qdate подключть
источник

MK

Matwey Kornilov in ErlangRus
У меня какая-то порнография получается, наверное от жары совсем мозги напекло:
advance_day(Y, M, D) ->
       calendar:gregorian_days_to_date(calendar:date_to_gregorian_days(Y, M, D) + 1).

%...

[T|[]] = calendar:local_time_to_universal_time_dst({advance_day(Y, M, D), {12, 0, 0}}),
calendar:datetime_to_gregorian_seconds(T).
источник

MK

Matwey Kornilov in ErlangRus
А, и это кстати еще работает не совсем правильно
источник

EM

Evgeny M. in ErlangRus
Matwey Kornilov
Господа, я запутался в API для времени. Хотя вроде как элементарная задача. Я хочу получить system_time следующего за Timestamp полудня по локальному времени.
следующий полдень может быть и не следующим днем если еше нет 12

Now = {D, {H, _, _} = calendar:local_time(),
TheDay = if
           H > 12 -> calendar:gregorian_days_to_date(calendar:date_to_gregorian_days(D) + 1);
           true -> D
         end,
источник

MK

Matwey Kornilov in ErlangRus
Да, это правильное замечание! Но у меня всё еще проблема как превратить DateTime в system_time представление.
источник

ML

Maksim Lapshin in ErlangRus
Matwey Kornilov
Да, это правильное замечание! Но у меня всё еще проблема как превратить DateTime в system_time представление.
А чего ты хочешь сделать то?
источник

MK

Matwey Kornilov in ErlangRus
У меня есть требование: при наступлении ближайшего локального полдня сротировать кое-какие файлы. Вот я смотрю на метку времени данных и пытаюсь понять куда их отправлять (условно говоря: в старый файл или уже в новый).
источник

EM

Evgeny M. in ErlangRus
а зачем system time? есть universal time local_time_to_universal_time_dst
источник

MK

Matwey Kornilov in ErlangRus
А поскольку данных много, а полдень наступает не часто, мне хочется делать это сравнением двух целых чисел.
источник

MK

Matwey Kornilov in ErlangRus
Evgeny M.
а зачем system time? есть universal time local_time_to_universal_time_dst
Ну он возвращает опять же кортеж.
источник

EM

Evgeny M. in ErlangRus
ну и сравнивай кортежи
источник

EM

Evgeny M. in ErlangRus
if Now > OldMidday -> rotate(), MiddDay = {nextday(Now), {12,0,0}}; true -> MidDay = OldMidday end
источник

MK

Matwey Kornilov in ErlangRus
Ну как-то жалко 6 чисел вместо одного сравнивать.
источник

MK

Matwey Kornilov in ErlangRus
Хотя я согласен, весь интерфейс именно это и поощряет делать
источник

EM

Evgeny M. in ErlangRus
кмк не та проблема чтобы на этом экономить
у меня тоже и файлы ротируются раз в сутки, и кое-какие структуры раз в час - вот именно из-за сравнения таплов проблем не было
источник

MK

Matwey Kornilov in ErlangRus
Спасибо! Так и сделаю
источник

MK

Matwey Kornilov in ErlangRus
А как проще всего разузнать vsn от определенного аппликейшена? Посмотреть через loaded_applications?
источник

PG

Pig Greenest in ErlangRus
application:get_key(<app>, vsn)
источник

MK

Matwey Kornilov in ErlangRus
Класс! Спасибо!
источник