簡體   English   中英

new_time返回時間(12小時格式)

[英]new_time returning time in 12hrs format

在我的函數中,我想將時間從GMT轉換為BST。 我的查詢如下

SELECT TO_CHAR(NEW_TIME ((TRUNC(SYSDATE) + 20/24 + 21/1440),
                        'GMT',
                        'BST'),
               'HH24:MI'
       )
FROM DUAL;

返回我的是“ 9:21”而不是“ 21:21”。 請幫忙! 謝謝!

文檔中 ,BST指的是白令標准時間,而不是您期望的英國夏令時。 白令標准時間是UTC-11,因此您得到的結果是預期的。

NEW_TIME函數只能接受上述文檔中指定的有限時區。如果要將GMT轉換為英國夏令時,則應使用“歐洲/倫敦”時區。

select (cast(your_date as timestamp) at time zone 'GMT') at time zone 'Europe/London'
from dual;

所以您的查詢將是

SQL> select 
    (cast((TRUNC(SYSDATE) + 20/24 + 21/1440) as timestamp) at time zone 'GMT') at time zone 'Europe/London',
    to_char((cast((TRUNC(SYSDATE) + 20/24 + 21/1440) as timestamp) at time zone 'GMT') at time zone 'Europe/London','hh24:mi')
from dual;

(CAST((TRUNC(SYSDATE)+20/24+21/1440)ASTIMESTAMP)ATTIMEZONE'GMT')ATTIMEZONE' TO_CH
--------------------------------------------------------------------------- -----
14-MAY-14 09.21.00.000000 PM EUROPE/LONDON                                  21:21

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM