Поведение нечетной функции POSIXct в R

Я работаю с типом данных POSIXct в R. В мою работу я включил функцию, которая возвращает две даты POSIXct в векторе. Тем не менее, я обнаружил неожиданное поведение. Я написал пример кода, чтобы проиллюстрировать мою проблему:

# POSIXct returning issue:

returnTime <- function(date) {

  oneDay <- 60 * 60 * 24
  nextDay <- date + oneDay

  print(date)
  print(nextDay)

  return(c(date, nextDay))

}

myTime <- as.POSIXct("2015-01-01", tz = "UTC")

bothDays <- returnTime(myTime)
print(bothDays)

Операторы печати в функции дают:

[1] "2015-01-01 UTC"
[1] "2015-01-02 UTC"

В то время как оператор print в конце кода дает:

[1] "2014-12-31 19:00:00 EST" "2015-01-01 19:00:00 EST"

я понимаюкакие происходит, но я не понимаю, почему. Это может быть простой ошибкой, которая ускользает от меня, но я действительно запутался. Я не понимаю, почему часовой пояс меняется по возвращении. Класс все еще POSIXct, только часовой пояс изменился.

Кроме того, я сделал то же, что и выше, но только что вернул одну из дат, и часовой пояс даты не изменился. Сейчас я могу обойти это, но хотел посмотреть, есть ли у кого-нибудь понимание моей проблемы. Заранее спасибо!

Спасибо за помощь ниже. Я вместо этого сделал:

 return(list(date, nextDay))

и это решило мою проблему с удалением часового пояса.

Ответы на вопрос(2)

Ваш ответ на вопрос