2016-12-15 1 views
1

У меня есть df$date как тип персонажа ниже:R: преобразование даты от персонажа к DateTime

 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" 

Я хочу, чтобы преобразовать его в объект даты и времени и попытался as.Date(df$date) и выход

"2016-04-10" 
"2016-04-12" 
"2016-04-12" 
"2016-04-12" 

Я также пытался получить as.POSIXlt(df$date), а выход

W Шляпа Я ищу это

 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

Как получить желаемый результат?

ответ

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"