当前位置: 首页 > 知识库问答 >
问题:

将带有时区的日期转换为GMT

那弘
2023-03-14

我有一个带时区的日期(如2014年3月21日08:00:00)(“如美国/丹佛”),我想将该日期转换为格林尼治标准时间;我怎么能这样做?

我还想知道Oracle是否接受DST?它会自动处理吗?是否以相同的方式支持所有时区?

注:“来自时区”在每种情况下都会改变;所以,并不总是美国/丹佛

共有1个答案

张绍晖
2023-03-14

以下是您可以使用的功能列表:

BEGIN
    DBMS_OUTPUT.PUT_LINE('Timestamp: ' || TO_TIMESTAMP('2014-03-21 08:00:00', 'yyyy-mm-dd hh24:mi:ss') );
    DBMS_OUTPUT.PUT_LINE('Timestamp with timezone: ' || FROM_TZ(TO_TIMESTAMP('2014-03-21 08:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'America/Denver') );
    DBMS_OUTPUT.PUT_LINE('Timestamp at UTC: ' || FROM_TZ(TO_TIMESTAMP('2014-03-21 08:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'America/Denver') AT TIME ZONE 'UTC' );
END;

Timestamp:               2014-03-21 08:00:00.000000000
Timestamp with timezone: 2014-03-21 08:00:00.000000000 -06:00
Timestamp at UTC:        2014-03-21 14:00:00.000000000 +00:00

像“美国/丹佛”这样的长时区名称考虑夏令时。如果指定时区泛型,如“-07:00”,则不考虑DST。

 类似资料:
  • 我需要将查询中的日期值转换为带有时区的时间戳,但目前我得到的时区区域(“欧洲/巴黎”)是EF使用的无效区域。 例如,在执行此操作时:

  • 问题内容: 我正在尝试使用Java日期和日历来实现从一个时区到另一个时区的简单转换。我正在尝试运行以下代码 但这仍然返回相同的日期,而不是+1小时…整个问题似乎微不足道,但我找不到任何简单的答案。在此先感谢您的帮助。 问题答案: 当您使用来打印日期时, 返回的是,并且始终以本地时区打印日期。 相反,您可能要使用:

  • 问题内容: 我有一个返回例如DateTime对象的Web服务:DepartureDate。我使用ajax来获取此代码,并在我看来使用此功能将JSON日期字符串转换为javascript日期对象: 问题是要考虑到客户端计算机上的本地时间,因此不同国家/地区的客户端会获得不同的日期。我想获取从Web服务返回的确切日期。有没有简单的方法可以做到这一点? 问题答案: 问题是考虑了客户端计算机上的本地时间

  • 在我的数据库中,我必须把一个日期时间以ISO格式与时区。例如,我有以下条目列: 我有一个web服务,它接受日期(在JSON对象中),如下所示: 现在,在我的javascript代码中,我尝试了: 谢谢

  • 我试图编写一个SQL表达式,该表达式将在特定时区将unix历元(1970/1/1以来的秒)转换为本地时间,并从中提取小时值。在研究了这段时间的解决方案后,我仍然不确定如何处理时区。注意,我尽量避免使用NEW_TIME()函数,因为它只使用时区缩略词的有限子集,而不使用全时区名称。 结果是 结果有几个问题 第1列:从时间戳开始,该值比使用日期关闭1小时 第2列:在America/los_Angele

  • 问题内容: 我从我的API获取此日期字符串: 但是此日期为UTC格式,我想将其转换为当地时间,该怎么办? 我尝试了这个: 但是它返回了这个错误: 问题答案: 您的日期格式模式错误。改成: 有关更多信息,请参见SimpleDateFormat的javadoc。