Конвертировать дату в POSIXct

Почему указанная ниже дата изменяется на "2014-07-07" при преобразовании в POSIXct?

Sys.setenv(TZ='America/Sao_Paulo')
d <- as.Date("2014-07-08", format="%Y-%m-%d")
d
[1] "2014-07-08"
as.POSIXct(d)
[1] "2014-07-07 21:00:00 BRT"

1 ответ

Решение

Так как as.POSIXct.Date не ищет часовой пояс (и не передаст его .POSIXct если вы укажете это в ...) и объекты Date являются "UTC", поэтому ваш POSIXct смещен от UTC объекта Date.

Было бы лучше позвонить as.POSIXct непосредственно на строку символов, если вы можете:

> as.POSIXct("2014-07-08", format="%Y-%m-%d")
[1] "2014-07-08 BRT"
Другие вопросы по тегам