Это поведение задокументировано в ?c.POSIXct
(та же справочная страница, что и ?DateTimeClasses
), ?c
и ?unlist
:
Из ?c.POSIXct
:
Используя
blockquote>c
на объектах «POSIXlt
», они преобразуют их в текущий часовой пояс, а на «POSIXct
» объекты опускают любые атрибутыtzone
»(даже если все они отмечены тем же часовым поясом) . *Из
?c
:< / blockquote>
c
иногда используется для его побочного эффекта удаления атрибутов, кроме имен. *
Тем не менее, мое тестирование показывает, что целостность ваших данных остается неизменной, несмотря на использование
c
илиunlist
. Например:x <- structure(1317830532, class = c("POSIXct", "POSIXt"), tzone = "GMT") y <- structure(1317830532+3600, class = c("POSIXct", "POSIXt"), tzone = "PST8PDT") x [1] "2011-10-05 16:02:12 GMT" y [1] "2011-10-05 10:02:12 PDT" strftime(c(x, y), format="%Y/%m/%d %H:%M:%S", tz="GMT") [1] "2011/10/05 16:02:12" "2011/10/05 17:02:12" strftime(c(x, y), format="%Y/%m/%d %H:%M:%S", tz="PST8PDT") [1] "2011/10/05 09:02:12" "2011/10/05 10:02:12" strftime(unlist(y), format="%Y/%m/%d %H:%M:%S", tz="PST8PDT") [1] "2011/10/05 10:02:12"
Ваш Марсовод должен быть в порядке, если вы используете R для отслеживания дат.