繁体   English   中英

如何将包含 T 和 z 的时间戳(例如 - 2020-03-02T16:30:36Z)转换为 dd/mm/yyy hh:mm:ss

[英]How to convert time stamp containing T and z ( for ex - 2020-03-02T16:30:36Z) to dd/mm/yyy hh:mm:ss

我正在设计一个 Flex 仪表板。 我的仪表板中的一列是时间戳,其列包含诸如 2020-03-02T16:30:36Z 之类的条目。 我想把它转换成 dd/mm/yyy hh:mm:ss。 请帮忙。 我试过了,但什么也没发生。 事实上,这些条目已从弹性仪表板 df$time<- as.POSIXct(df$time, format="%Y-%m-%dT%H:%M:%OSZ", tz="GMT ")

anytime package可以提供帮助:

R> library(anytime)
R> anytime("2020-03-02T16:30:36Z")
[1] "2020-03-02 16:30:36 CST"
R> utctime("2020-03-02T16:30:36Z", tz="UTC")
[1] "2020-03-02 16:30:36 UTC"
R> 

首先,通过不需要输入格式,而是依赖于一些可能/似是而非的格式,它试探性地尝试。 其次,还提供在 UTC 解析(并且,正如我们在这里所做的那样,将 UTC 强制用于打印格式/显示,否则为本地时间)。 第三,如果您需要,我们还有一些 output 格式:

R> pt <- utctime("2020-03-02T16:30:36Z", tz="UTC")
R> iso8601(pt)
[1] "2020-03-02T16:30:36"
R> rfc2822(pt)
[1] "Mon, 02 Mar 2020 16:30:36.000000 +0000"
R> rfc3339(pt)
[1] "2020-03-02T16:30:36.000000+0000"
R> yyyymmdd(pt)
[1] "20200302"
R> 

底层实现在 C++ 中,因此它也往往比等效替代方案(需要格式规范或提示)更快。

libridate的 function as_datetime 也有效:

library(lubridate)
as_datetime("2020-03-02T16:30:36Z")
[1] "2020-03-02 16:30:36 UTC"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM