需要在 oracle 中将任何时区转换为 GMT 时区

Posted

技术标签:

【中文标题】需要在 oracle 中将任何时区转换为 GMT 时区【英文标题】:Need to convert any timezone to GMT time zone in oracle 【发布时间】:2019-11-05 06:27:09 【问题描述】:

查询条件如下:

creation_date >=last_success_run_date

此处的创建日期类似于某个时间 PDT(太平洋夏令时间)或某个时间 PST(太平洋标准时间)格式。

并且 last_success_run_date 始终是 GMT 格式。

所以,我想知道是否有任何可用的 oracle 函数可以将任何时区格式转换为 GMT 时区格式。

【问题讨论】:

【参考方案1】:

试试这个:

FROM_TZ(creation_date, 'America/Los_Angeles') AT TIME ZONE 'UTC'

SYS_EXTRACT_UTC(FROM_TZ(creation_date, 'America/Los_Angeles'))

如果creation_dateDATE 而不是TIMESTAMP 数据类型,那么您必须使用CAST(creation_date AS TIMESTAMP),因为FROM_TZ 仅接受TIMESTAMP 数据类型作为输入值。

【讨论】:

【参考方案2】:

使用new_time()函数将timezone1中的日期转换为timezone2中的日期。

NEW_TIME(date, timezone1, timezone2)

NEW_TIME(date, 'PDT', 'GMT')

【讨论】:

我们不能在这里使用 new_time 函数,因为我们不知道时间格式是 PST 还是 PDT @send that in parameter

以上是关于需要在 oracle 中将任何时区转换为 GMT 时区的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中将本地时间转换为 GMT 时区

在 Java 中将国家/地区代码转换为时区

如何将“GMT + 5.5_(INDIA)”转换为时区“Asia / Kolkata”

在 Swift 中将日期从 GMT+1 转换为 UTC 时的困惑

努力在 Python 中将时区 GMT 转换为 CST

在 PHP 中将 GMT 从 JSON 提要转换为当地时间