问题
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