首页 > 解决方案 > 我无法使用 as.POSIXct 将具有 UTC 偏移量的字符串转换为 R 中的日期

问题描述

例子

 foobar <- as.POSIXct("019-12-17 20:47:44.4799020 +00:00", format="%Y-%m-%d %H:%M:%S %z", tz = "UTC")
 foobar
 [1] NA

R 版本 version.string R 版本 3.6.1 (2019-07-05)

标签: rdatetimeutc

解决方案


似乎,"%z"格式中的某种原因造成了麻烦。离开它对我有用:

> as.POSIXct("019-12-17 20:47:44.4799020 +00:00", format="%Y-%m-%d %H:%M:%S", tz = "UTC")
[1] "0019-12-17 20:47:44 UTC"

原因可能是%z需要一种格式+0000(参见strptime 文档)。


推荐阅读