Путаница относительно преобразования DateTime в R - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь преобразовать символьную строку в объект dateTime в R

Пример данных:
Actual

Ниже приведен код, который я использую для преобразования

sample$Tweet_Timestamp <- lapply(sample$Tweet_Timestamp, function(x) as.POSIXct(strptime(x, "%a %b %d %H:%M:%S %z %Y")))
sample<-sample%>%unnest(Tweet_Timestamp)

Результат, который я получаю, выглядит следующим образом:
Converted

Теперь в результате мы можем видеть, что дата преобразована с 18 февраля в 19 февраля. Я не могу понятьпричина, почему я получаю такой результат. Может ли кто-нибудь помочь мне расшифровать это?

1 Ответ

0 голосов
/ 28 сентября 2018

as.POSIXct автоматически преобразует дату и время в часовой пояс вашей локальной системы.Если вы хотите сохранить исходный часовой пояс, вы можете сделать это, добавив tz = "UTC", который является универсальным временем по умолчанию.

Например, следующий код (с использованием 1-й строки данных примера):

as.POSIXct(strptime("Tue Feb 18 23:09:57 +0000 2014", "%a %b %d %H:%M:%S %z %Y", tz = "UTC"))

выдаст следующий результат (без изменения часового пояса):

[1] "2014-02-18 23:09:57 UTC"
...