这可能是一个非常简单的问题,但对 Google 来说很难,因为它匹配了太多不同的问题。
我想获取保存在我的数据库中的时间戳的时区(或偏移量)。
例如,现在在我的数据库中,我有
expired_at
---------------------
2018-04-28 00:00:00
2018-03-28 08:00:00
2018-02-28 05:00:00
Run Code Online (Sandbox Code Playgroud)
我想找到所有expired_at
具有 PST 偏移量的内容。
所以我的伪代码是这样的
SELECT expired_at FROM table WHERE expired_at IS IN TIMEZONE('PST')
我能得到一些帮助吗。谢谢!
附注。基本上,我试图通过查找所有 UTC 时间戳并将它们更新为 PST 来解决数据完整性问题。数据库现在混杂着许多不同的时区。
Mad*_*ist 19
对于带时区的时间戳,内部存储的值始终采用 UTC(世界协调时间,传统上称为格林威治标准时间,GMT)。使用该时区的适当偏移量将具有指定显式时区的输入值转换为 UTC。如果输入字符串中未指定时区,则假定它位于系统的 TimeZone 参数指示的时区中,并使用时区区域的偏移量转换为 UTC。
与正常人在阅读时可能期望的相反timestamp with time zone
,这种 Postgres 数据类型实际上并不存储时区。在内部,该值始终转换为 UTC。
将值保存到数据库时,有关输入时区的信息会丢失。据我所知,没有办法获得你所寻求的信息。
归档时间: |
|
查看次数: |
14367 次 |
最近记录: |