在R中将日期时间字符串转换为POSIXct日期/时间格式

27
考虑一个格式为的字符串
test <- "YYYY-MM-DDT00:00:00.000-08:00"

我的目标是将这些字符串转换为POSIXct格式,以便我可以绘制数据。我的最初想法是使用

as.POSIXct(test)

... 但似乎将日期时间截断为日期。 有什么想法吗?as.POSIXct的帮助信息似乎暗示输入应该是由空格分隔的日期和时间,而不是由“T”分隔。 这是我的问题吗?


1
由于XML提取部分已经起作用,而问题与此无关,我建议编辑此问题的标题并删除xml标签。 - Ista
1个回答

51

您需要为转换指定格式。阅读?strptime以查看日期格式的所有选项。

#YYYY-MM-DDT00:00:00.000-08:00
test <- "2013-12-25T04:32:16.500-08:00"
z <- as.POSIXct(test,format="%Y-%m-%dT%H:%M:%OS")
op <- options(digits.secs = 3)
z
#[1] "2013-12-25 04:32:16.5 EST"

嘿,感谢您在这里的回答。我也有一个问题...chr [1:10000] "2016-05-30 23:39:51 UTC" "2016-05-30 23:52:34 UTC" 是我的数据。所以我用as.POSIXct将其转换:as.POSIXct(df$event_ts_utc,format="%Y-%m-%d %H:%M:%OS") 运行良好,除了时间码“2016-05-30 23:39:51 CEST”!有什么想法吗? - Dan
做到了!as.POSIXct(df$event_ts_utc, format="%Y-%m-%d %H:%M:%S", tz="UTC") - Dan
我有一个稍微不同格式的日期时间戳,所以对我而言可行的方法是:as.POSIXct("2019-03-15 16:17:42" , format="%Y-%m-%d %H:%M:%OS") - stevec

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接