我在 R 中有一个包含日期的列,如下所示: 2020-01-03T21:04:18.907Z
。我不确定应该使用哪种日期格式才能将其转换为我可以使用的日期。我不确定这个 T21
和 907Z
是什么意思。
我尝试这样的事情:
dtparts = t(as.data.frame(strsplit("2020-01-03T21:04:18.907Z",' ')))
row.names(dtparts) = NULL
library(chron)
thetimes = chron(dates=dtparts[,1],times=dtparts[,1],
format=c('y-m-d','h:m:s'))
但我得到:
Error in convert.dates(dates., format = format[[1]], origin. = origin.) :
format y-m-d may be incorrect
In addition: Warning message:
In convert.dates(dates., format = format[[1]], origin. = origin.) :
NAs introduced by coercion
最佳答案
我们可以使用format
将其转换为正确的格式
library(lubridate)
dt <- ymd_hms("2020-01-03T21:04:18.907Z")
chron(dates = format(dt, '%Y-%m-%d'), time = format(dt, "%H:%M:%S"),
format = c('y-m-d', 'h:m:s'))
#[1] (20-01-03 21:04:18)
关于识别 R 中的日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59883533/