169 похожих чатов

Помогите разобрать как правильно обработать задачу по часовым поясам. Мы записываем

события и потом отображаем их список.

Предположим сейчас 1 октября 00:00 ночи, мы в Москве (+3) . Мы открыли приложение и записываем событие. Так как время нам отображается то мы хотели бы видеть актуальное время - наше локальное. Вот мы записали, перевели в UTC, которое будет 29 сентября в 21:00.

Теперь делаем выборку операций за месяц. Берем локальный месяц и переводим в UTC, выборка начнется от 29 сентября с 21:00. Пока все хорошо.

Теперь перелетаем в Нью-Йорк с часовым поясом -4 и делаем тоже выборку за месяц, переводя локальный месяц в UTC. Выборка начинается с 1 октября с 04:00. Получается у нас не войдет событие записанное в Москве в события, которые мы читаем в Нью-Йорке.

Что с этим делать, как решить дилему?

7 ответов

36 просмотров

Тут кажется вы сами себя запутали. 1) Все события вы пишите в UTC+0, что по сути хорошо. 2) При отображении пользователю, вы переводите в его часовой пояс и отображаете. Далее путаница происходит в интерпретации для другого часового пояса, возьмем событие по мск (+3) 1го числа в 00 часов. По гринвичу оно произойдет в 21 час ночи 31го предыдущего месяца, а в Нью-Йорке (-4) оно произойдет в 17 часов 31го числа предыдущего месяца.

Norim- Автор вопроса
Serge Rumyantsev
Тут кажется вы сами себя запутали. 1) Все события ...

Да, но разве я как пользователь не ожидал бы видеть ту же операцию в том же месяце не смотря на смену часового пояса?

Вы ожидаете отображение в том часовом поясе, в котором находитесь же?

Norim
Да, но разве я как пользователь не ожидал бы видет...

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

Norim- Автор вопроса
Serge Rumyantsev
Вы ожидаете отображение в том часовом поясе, в кот...

Ну верно, да, при записи. Но вот я перелетел в Нью-Йорк, разве я не удивлюсь, увидев, что операция не отобразится в выборке за месяц? Думал бы, например, почему она пропала с текущего месяца? 🤔

Norim
Ну верно, да, при записи. Но вот я перелетел в Нью...

Пропала, так как ты в другом часовом поясе, где эта операция (момент времени), отнесена к другому месяцу.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта