是否有SQL函数可根据日期转换为PST或PDT?
我想将时间从pacific转换为UTC。但是,我必须首先根据日期将时间转换为PST或PDT。是否有SQL函数可以实现这一点,或者是否有人对创建此函数有任何建议?您提供的链接作为时间戳的指南几乎毫无用处。如果要使用时区,请将时间戳存储在是否有SQL函数可根据日期转换为PST或PDT?,sql,postgresql,timezone,dst,Sql,Postgresql,Timezone,Dst,我想将时间从pacific转换为UTC。但是,我必须首先根据日期将时间转换为PST或PDT。是否有SQL函数可以实现这一点,或者是否有人对创建此函数有任何建议?您提供的链接作为时间戳的指南几乎毫无用处。如果要使用时区,请将时间戳存储在带有时区的时间戳字段中。时区实际上不会被存储,但时间戳将被存储为UTC。无论何时输入时间戳,它都会旋转为UTC值。这使得以后更容易处理价值。如果您想考虑到DST转换,您需要使用完整的时区名称,例如US/Pacific,因为它们涵盖了构成标准/夏令时时区的两个偏移量(
带有时区的时间戳
字段中。时区
实际上不会被存储,但时间戳将被存储为UTC
。无论何时输入时间戳
,它都会旋转为UTC
值。这使得以后更容易处理价值。如果您想考虑到DST
转换,您需要使用完整的时区名称,例如US/Pacific
,因为它们涵盖了构成标准/夏令时时区的两个偏移量(PST/PDT
)。正如您发现的,使用偏移量PST(-08)
或PDT(-07)
可以获得固定的偏移量,而不考虑日期。您使用的是哪种dbms?说到日期/时间,许多产品远远不符合ANSI SQL。我不确定我使用的是什么dbms。我怎样才能找到这些信息?你是在建议我创建自己的函数吗?大多数数据库都有自己的函数,不幸的是不同的函数。谢谢!我有PostgreSQL 10.16(Ubuntu 10.16-1.pgdg16.04+1)在时区“pst”在时区“utc”在时区“pdt”在时区“utc”将给你不同的结果,相差1小时。和选择时区“utc”的“美国/洛杉矶”的时间戳“2021-06-01 11:23:39”
返回与“pdt”相同的值,正如预期的那样。