gpt4 book ai didi

django - 在 Django/PostgreSQL 中设置自定义时区(印度标准时间)

转载 作者:行者123 更新时间:2023-11-29 11:41:59 27 4
gpt4 key购买 nike

在 Django 中 documentation for setting timezone , list of available choices for timezone 实际上是 postgres timezone 参数字符串。所以 Django 似乎使用 Postgres 来检索时间。

如果是这样,那么问题是 IST 用于表示 Indian & Israel标准时间,但 postgres 使用 IST以色列标准时间(可能混淆世界六分之一的人口)并且印度标准时间没有时区字符串。

不仅如此,Postgres 还缺少其他一些国家/地区的时区,例如尼泊尔 (GMT+5:30) 和一些太平洋岛屿。

那么,有什么方法可以让我在 Postgres 或 Django 中设置自定义时区字符串(例如印度的 GMT+5:30、尼泊尔的 GMT+5:45 等)?

最佳答案

对于印度:

SELECT now() AT TIME ZONE 'Asia/Calcutta';
SELECT now()::timestamp AT TIME ZONE 'Asia/Kolkata';
SELECT now()::timestamp AT TIME ZONE '5:30';

对于尼泊尔:

SELECT now()::timestamp AT TIME ZONE 'Asia/Katmandu';
SELECT now()::timestamp AT TIME ZONE 'NPT';

设置整个 session 的时区:

SET time zone 'Asia/Calcutta';

重置它(到 postgresql.conf 中设置的时区:

RESET time zone;

在系统 View pg_timezone_namespg_timezone_abbrevs 中查找更多内容

SELECT *
FROM pg_timezone_names
WHERE utc_offset BETWEEN '05:00:00' AND '06:00:00'
ORDER BY utc_offset;

SELECT *
FROM pg_timezone_abbrevs
WHERE utc_offset BETWEEN '05:00:00' AND '06:00:00'
ORDER BY utc_offset;

关于 PostgreSQL 手册 AT TIME ZONE构造。关于time zones .

关于django - 在 Django/PostgreSQL 中设置自定义时区(印度标准时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com