Как преобразовать приведенный ниже код в другой часовой пояс, используя postgresql?
SELECT date_trunc('month', CURRENT_DATE);
Приведенный выше код возвращает этот вывод: '2020-05-01 00: 00: 00'
Я хочу преобразовать часовой пояс по умолчанию в 'PST'.
Это то, что вы ищете?
select date_trunc('month', current_date) at time zone 'utc' at time zone 'pst'
Выход:
2020-05-01 08:00:00+01
Ниже не указано c на этот вопрос. Хотя Postgres поддерживает сокращения часовых поясов (pst, ...), будьте осторожны при их использовании. Они устанавливают sh фиксированные смещения от UT C. Это смещение остается неизменным все время; они не знают об изменениях дневного света. В большинстве случаев гораздо лучше использовать полное имя часового пояса, например, America / Los_Angeles. От Postgres Документация
Сокращение часового пояса, например PST. Такая спецификация просто определяет конкретное смещение от UT C, в отличие от полных имен часовых поясов, которые также могут подразумевать набор правил перехода на летнее время. Распознанные сокращения перечислены в представлении pg_timezone_abbrevs (см. Раздел 51.91). Вы не можете установить параметры конфигурации TimeZone или log_timezone на сокращение часового пояса, но вы можете использовать сокращения во входных значениях даты / времени и с оператором AT TIME ZONE.