Распознать формат даты и времени в R - PullRequest
2 голосов
/ 23 января 2020

У меня есть столбец с датами в 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

Ответы [ 2 ]

2 голосов
/ 23 января 2020

Мы можем преобразовать его в правильный формат с 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)
1 голос
/ 23 января 2020

Попробуйте это:

lubridate::ymd_hms("2020-01-03T21:04:18.907Z")
# [1] "2020-01-03 21:04:18 UTC"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...