2016-10-02 209 views
-1

我需要在讀當前時間在這個特殊格式:與TZ日期時間格式,日期時間specfied在R(ISO 8601)

2014-01-07T14:57:55+05:30 

Sys.time()似乎比這不同的格式返回。我如何得到這個?

鏈接到格式:https://en.wikipedia.org/wiki/ISO_8601

+1

見包'parsedate' –

+4

'的strftime(Sys.time()的文檔中,「%Y-%間%的dT%H: %M:%S%Z「)'? – Abdou

+1

@J_F:沒有。他希望_format_當前時間,而不是解析日期字符串。 –

回答

2

用於轉換/格式化時間字符串的功能是as.POSIXctas.POSIXlt。這些指向documentation指向格式符號strptime的文檔。此參考指示%FISO-8601的正確符號,但實現該結果的格式與您的建議不同。

> as.POSIXct(Sys.time(),format="%F") 
[1] "2016-10-02 18:57:58 EDT" 

我懷疑看着strptime你會發現需要輸出的組合,你所需要的準確的格式。

+0

這不是一個答案。 –

0

這是你要找的嗎?

format(Sys.time(), format="%Y-%m-%dT%H:%M:%S+01:00") 
format(Sys.time(), format="%Y-%m-%dT%H:%M:%S%z") 

字母找到意義strptime()功能

+0

您的時區偏移量是硬編碼的。 –

+0

好的...我沒有找到一種方法來使兩點之間的偏移小時和分鐘。有沒有辦法? –

+0

由於'%z'是R提供的,即使它沒有':'分隔小時和分鐘,你編輯的答案也更接近。 –