当前位置: 首页 > 面试题库 >

ORACLE将DATE转换为带有时区的TIMESTAMP(具有偏移量)

荣沈义
2023-03-14
问题内容

我需要在查询中将DATE值转换为带时区的TIMESTAMP,但目前我正在获取不能被EF使用的时区(欧洲/巴黎)。

例如,执行此操作时:

select CAST(FECHA AS TIMESTAMP WITH TIME ZONE) from test;

我目前得到此输出:

07/03/14 09:22:00,000000000 EUROPE/PARIS

但我需要像这样:

07/03/14 09:22:00,000000000 +01:00

任何想法如何做到这一点?


问题答案:

您可以将转换DATETIMESTAMP,然后使用FROM_TZ将此时间戳转换为具有时区的时间戳:

SQL> SELECT from_tz(CAST (SYSDATE AS TIMESTAMP), '+01:00') tz FROM dual;
TZ
-------------------------------------------------
07/03/14 09:47:06,000000 +01:00


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

  • 我有一个格式为“2019-04-25T16:34:28-05:00”的字符串。我已经通过模式“yyyy-mm-dd't'hh:mm:ssz”通过joda-time解析了字符串。 它在DateTime中给出的输出是“2019-04-25t15:34:28.000-06:00”。

  • 当我这样创作的时候: 一切都工作得很好,但我尽量避免转换。是否可以通过只使用对象来实现这一点?

  • 我正在尝试将ISO日期时间隐藏到LocalDateTime: 这段代码起作用--它将它转换为localdate(包括offset)。但问题是当我通过日期没有偏移:2011-12-03T10:15:30- 我知道为什么我有这个例外,问题是如何将包括偏移量在内的两个日期转换为LocalDateTime?。我想避免一些字符串解析(检查字符串是否包含'+'/'-')。

  • 问题内容: 在我正在开发的应用程序中,我需要将object 转换为。当我创建对象时: 我收到类似的东西。当我尝试创建这样的对象时: 我收到类似的东西。相同的结果,但有2个小时的延迟。有人可以解释为什么会发生这种情况,并在不造成延迟的情况下为我提供解决此问题的答案吗? 当我这样创建时: 一切正常。但是我尽量避免转换。有没有一种方法可以只使用对象呢? 问题答案: 我将计算机的时区更改为欧洲/布加勒斯特

  • 问题内容: 我正在尝试使用方法将格式为的时间戳转换为python中的对象。问题出在最后的时间偏移量。没有偏移量,我就可以成功地做到 但是我尝试了偏移 但是它给出了一个Value错误,说是一个错误的指令。 有什么解决办法吗? 问题答案: 函数确实不支持%z时区格式(因为基础函数不支持时区)。您有两种选择: 使用进行解析时,忽略时区: 使用dateutil模块,它的解析功能确实处理时区: 在命令提示符