首页 > 解决方案 > R:日期/时间 YYYY-MM-DDThh:mm:ss.SSSZ 格式

问题描述

如何在 R 中将变量 data$timestamp 的类型从 char 更改为日期格式 YYYY-MM-DDThh:mm:ss.SSSZ date/time?我愿意以这种格式保存所有信息。

2014-04-06T18:42:05.823Z

标签: rdatetime-format

解决方案


您可以使用as.POSIXct拥有 class 的对象"POSIXct"

x <- "2014-04-06T18:42:05.823Z"

op <- options("digits.secs" = 3)

d <- as.POSIXct(x, tz = "UTC", "%Y-%m-%dT%H:%M:%OS")
d
#[1] "2014-04-06 18:42:05.822 UTC"

class(d)
#[1] "POSIXct" "POSIXt"

format(d, "%Y-%m-%dT%H:%M:%OS3")
#[1] "2014-04-06T18:42:05.822"

参见help("strptime")数据时间格式。

笔记。
as.POSIXct并且strptime可能会给出不同的结果,具体取决于时区。

as.POSIXct(x, tz = "UTC", "%Y-%m-%dT%H:%M:%OS")
#[1] "2014-04-06 18:42:05.822 UTC"
strptime(x, tz = "UTC", format = "%Y-%m-%dT%H:%M:%OS")
#[1] "2014-04-06 18:42:05.823 UTC"

最后一位数字减 1。


推荐阅读