Parse datetime with lubridate

会有一股神秘感。 提交于 2019-12-23 22:44:01

问题


I am trying to parse the following datetime with the following format:

library(lubridate)
a <- "2004-05-07 18:24:58.666424"

I tried the following, but returned NAs

b <- lubridate::mdy_hms(a)
c <- lubridate::mdy(a)

Could anyone please explain how to parse this. I am also fine if lubridate is not used.


回答1:


With lubridate, you can specify that your seconds have a decimal with the special S! or OS formats; see ?parse_date_time for more parsing options.

> parse_date_time("2004-05-07 18:24:58.666424", 'ymd HMS!')
[1] "2004-05-07 18:24:58 UTC"

Alternately, it seems to parse fine with just the usual default "ymd HMS":

parse_date_time("2004-05-07 18:24:58.666424", 'ymd HMS')

or the shorthand

ymd_hms("2004-05-07 18:24:58.666424")



回答2:


Try

options(digits.secs=6)
as.POSIXct(a,"%Y-%m-%d %H:%M:%S.%OS")
#[1] "2004-05-07 18:24:58.666424"



回答3:


mdy=Month day year, your data is setup as ymd

Try ymd_hms or ymd



来源:https://stackoverflow.com/questions/35807501/parse-datetime-with-lubridate

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!