我有字符串格式的時間戳,例如「2015-03-24T07:08:24.000Z」,如何將它轉換回時間戳即2015-03-24T07:08 :從ORACLE中的給定字符串24.000Z?將TZ字符串格式的TimeStamp轉換爲Oracle中的TimeStamp
回答
推測固定的T和Z讓你感到困惑,因爲它們不是正常的元素。但the documentation說:
可以包括日期格式模型中,這些字符:
- 標點符號,如連字符,斜線,逗號,句號和冒號
- 字符文字,用雙引號標記
所以你圍住T和的Z雙引號,因爲"T"
和"Z"
,在你的格式模型中。
如果你沒有在時區interersted你可以使用the to_timestamp()
function:
to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')
或者,如果你想有一個與時區,你可以使用the to_timestamp_tz()
function,這將默認爲當前會話時區(如您實際上並沒有指定一個位置時,Z不被解釋爲祖魯/ UTC):
to_timestamp_tz('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')
如果你有一個時區希望,並希望將其指定爲UTC您可以強制與the from_tz()
function:
from_tz(to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')), 'UTC')
要看到那些產生差異,指定一個時區的會話作爲演示:
alter session set time_zone = 'America/New_York';
select to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') as no_tz,
to_timestamp_tz('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') as default_tz,
from_tz(to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'), 'UTC') as utc_tz
from dual;
NO_TZ
--------------------------------------------------
DEFAULT_TZ
--------------------------------------------------
UTC_TZ
--------------------------------------------------
24-MAR-15 07.08.24.000000000
24-MAR-15 07.08.24.000000000 AMERICA/NEW_YORK
24-MAR-15 07.08.24.000000000 UTC
我假設在Z是固定的值你因此總代表UTC;如果實際上在需要轉換的值中獲得不同的時區,那麼您需要提取並應用這些值 - 這是可行的,但很難實現,除非您確實存在這種情況,否則不值得進入。
其實「Z」定義「UTC」 - 至少根據ISO -8601 –
@WernfriedDomscheit - 是的,因此第三個選項強制這個,這可能是最正確的。也許我應該更清楚它應該被使用。我沒有涉及到的是將UTC值轉換回OP的(會話或數據庫)時區,如果它將被存儲爲沒有時間戳的時區,我想應該這樣做。 –
- 1. 將VARCHAR2轉換爲Oracle中的TIMESTAMP
- 2. 將TIMESTAMP差異列數據轉換爲字符串格式
- 3. PHP將字符串轉換成timestamp
- 4. 如何將strftime或字符串格式轉換爲python中的timestamp/Date?
- 5. 將字符串轉換爲TIMESTAMP插入表中的時間?
- 6. 如何將SQL-timestamp轉換爲球拍中的字符串?
- 7. 如何將字符串日期轉換爲java中的Timestamp?
- 8. 轉換這個字符串向timestamp PHP
- 9. 如何在Sybase中將字符串轉換爲datetime/timestamp
- 10. 轉換爲AngularJs中的TimeStamp
- 11. ORACLE:轉換VARCHAR到TIMESTAMP/TIMEZONE
- 12. android將Date轉換爲TimeStamp
- 13. 轉換爲MySQL TIMESTAMP
- 14. 如何將Timestamp轉換爲DataFrame中的日期格式?
- 15. 將java.util.date默認格式轉換爲Java中的Timestamp
- 16. 如何將timestamp字符串轉換爲datetime對象?
- 17. SQL Query將TIMESTAMP轉換爲字符串,同時選擇列
- 18. 語法錯誤pyspark.sql.functions.from_utc_timestamp(timestamp,tz)
- 19. 如何將TimeStamp轉換爲適當的日期格式?
- 20. 如何將Oracle TIMESTAMP插入到Derby TIMESTAMP
- 21. 將TIMESTAMP轉換爲INTEGER的Mysql - 時區
- 22. 將TIMESTAMPL(timestamp long)轉換爲TIMESTAMP以60結尾
- 23. 如何在Oracle中將TIMESTAMP列更新爲TIMESTAMP WITH TIME ZONE
- 24. 如何從Oracle DB中將TIMESTAMP列轉換爲C++(MFC或WIN32)?
- 25. 將字符串轉換爲oracle中的格式編號
- 26. 將excel格式轉換爲C#TimeStamp就像excel那樣做
- 27. 格式PHP中的TimeStamp rss
- 28. 時間字符串向timestamp
- 29. 將VARCHAR時間戳轉換爲TIMESTAMP?
- 30. momentjs unix timestamp將pm轉換爲am
使用to_timestamp函數,請按照此鏈接:https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions193.htm – krokodilko