2016-10-02 193 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提供的,即使它没有':'分隔小时和分钟,你编辑的答案也更接近。 –