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

Вопрос: Я принимаю данные, но они без часового пояса, то есть

в UTC 0 приходят.
Вопрос: я могу как-то timezone поставить для конкретной таблицы, или проще когда забираю данные плюсовать 3 часа :?

12 ответов

15 просмотров

Данные нужно в часовой пояс на стороне клиента по уму приводить, а передавать между сервисами строго в UTC. Если просто select нужно сделать с выводом в нужной зоне, то есть специальная конструкция at time zone.

Mʀ. Sʜɪsʜᴋɪɴᅠ-[ᴇʟ] Автор вопроса
sexxst
Данные нужно в часовой пояс на стороне клиента по ...

Спасибо. Да там решили что логичней всего хранить в 0 часовом поясе. Хотя данные нужны как бы в +3 формате

Зачем Вам что-то "плюсовать"? Переводите в абсолютные моменты времени — timestamptz, и так и храните.

Yaroslav Schekin
Зачем Вам что-то "плюсовать"? Переводите в абсолют...

Хранить это понятно. У человека абстрактный вопрос как выбрать сразу в конкретной зоне. Абстрактный ответ - выбирать с указанием нужной зоны)

sexxst
Хранить это понятно. У человека абстрактный вопрос...

А это уже от API зависит, на самом деле. Но это "данные нужны как бы в +3 формате" намекает, что у используемого с этим плохо, конечно.

Mʀ. Sʜɪsʜᴋɪɴᅠ-[ᴇʟ] Автор вопроса
Yaroslav Schekin
А это уже от API зависит, на самом деле. Но это "...

😏 Ну конечно, мой вопрос был, можно ли не меняя глобальную временную зону, забирать данные сразу в нужной мне..

Mʀ. Sʜɪsʜᴋɪɴᅠ [ᴇʟ]
😏 Ну конечно, мой вопрос был, можно ли не меняя гл...

можно устанавливать переменную сессии таймзону. и все данные автоматом будут преобразовываться в нее. Но следует иметь ввиду если вы пользуетесь pgbouncerом

Mʀ. Sʜɪsʜᴋɪɴᅠ [ᴇʟ]
😏 Ну конечно, мой вопрос был, можно ли не меняя гл...

"Глобальной временной зоны" в PostgreSQL не существует. А вот это "забирать данные сразу в нужной мне" намекает, что используемое Вами API не умеет в настоящие значения даты/времени. Так что Вам нужно, текст вида "2021-03-04 18:00:23+03", или текст вида "2021-03-04 18:00:23", или ещё что-то?

Mʀ. Sʜɪsʜᴋɪɴᅠ-[ᴇʟ] Автор вопроса
Mʀ. Sʜɪsʜᴋɪɴᅠ [ᴇʟ]
Отдаёт в str> в формате "2021-03-04 18:00:23"

Подождите, что отдаёт? Это не один из форматов для timestamptz, например. В общем, рассказали бы Вы по шагам (с форматами / примерами на каждом шагу), если по-хорошему. Но если у Вас уже есть timestamptz, например, то это будет: SELECT now() AT TIME ZONE '-03'; -- или: SELECT now() AT TIME ZONE '03:00'::INTERVAL; Или, если нужен не фиксированный часовой пояс, а именно временная зона: SELECT now() AT TIME ZONE 'Europe/Moscow'; Если API настолько тупое, что не может нормально читать и этого (т.к. это значения timestamp, оно потенциально может их запрашивать по бинарному протоколу и запарывать), то либо изменить его настройки, либо добавить CAST в text.

Mʀ. Sʜɪsʜᴋɪɴᅠ-[ᴇʟ] Автор вопроса
Yaroslav Schekin
Подождите, что отдаёт? Это не один из форматов для...

SELECT now() AT TIME ZONE 'Europe/Moscow'; вот так будет, скорее всего. Ну я там забираю по апишке, и оно мне отдаёт типа 'timestamp': '2021-03-04 07:59:59.000', и я просто забираю это значение, он отдаёт без указания пояса, но путём угроз и махинаций, узнал, что отдаёт в 0.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта