问题
I have a large dataframe with time stamps that look like this:
"2019-05-15T01:42:15.072Z"
It resembles a ISO 8601 combined date and time representation.
How can I parse this string into a real date-time format?
The characters (T
and Z
) inside the data seems to make it difficult.
回答1:
You can simply parse the timestamp by specifying the format in as.POSIXct
(or strptime
)
as.POSIXct("2019-05-15T01:42:15.072Z", format = "%Y-%m-%dT%H:%M:%OSZ")
#[1] "2019-05-15 01:42:15 AEST"
Explanation:
%Y
, %m
and %d
denote the year (with century), month and day; %H
, %M
and %OS
denote the hours, minutes and seconds (including milliseconds). The T
and Z
are simply added to the format
string, because
Any character in the format string not part of a conversion specification is interpreted literally
See ?strptime
for the different conversion specifications.
来源:https://stackoverflow.com/questions/57355948/parse-iso-8601-combined-date-and-time-yyyy-mm-ddthh-mm-ssz