我的df$date
字符类型如下:
date
1 "2016-04-10T12:21:25.4278624"
2 "2016-04-12T10:01:42.9573987"
3 "2016-04-12T10:02:15.2168753"
4 "2016-04-12T10:02:45.3005686"
我想将其转换为datetime对象并尝试as.Date(df$date)
,输出为
"2016-04-10"
"2016-04-12"
"2016-04-12"
"2016-04-12"
我也试过as.POSIXlt(df$date)
,输出是
"2016-04-10 BST"
"2016-04-12 BST"
"2016-04-12 BST"
"2016-04-12 BST"
我正在寻找的是
date
1 2016-04-10 12:21:25.4278624
2 2016-04-12 10:01:42.9573987
3 2016-04-12 10:02:15.2168753
4 2016-04-12 10:02:45.3005686
我还尝试了help
as.POSIXct(strptime("2011-03-27 01:30:00", "%Y-%m-%d %H:%M:%S"))
输出为NA
如何获得所需的输出?
答案 0 :(得分:3)
对我而言,它的工作原理如下:
test <- "2016-04-10T12:21:25.4278624"
z <- as.POSIXct(test,format="%Y-%m-%dT%H:%M:%OS")
#output:
z
"2016-04-10 12:21:25 CEST"
代码在此处形成:converting datetime string to POSIXct date/time format in R
答案 1 :(得分:1)
另一种解决方案是使用lubridate
包。
library(lubridate)
test <- "2016-04-10T12:21:25.4278624"
您可以使用ymd_hms
功能,在这种情况下不必担心格式。
ymd_hms(test)
#output
[1] "2016-04-10 12:21:25 UTC"
您可以使用tz
参数更改时区。
ymd_hms(test, tz = "EST")
[1] "2016-04-10 12:21:25 EST"