Comportamento de função POSIXct ímpar em R

Estou trabalhando com o tipo de dados POSIXct em R. No meu trabalho, incorporo uma função que retorna duas datas POSIXct em um vetor. No entanto, estou descobrindo um comportamento inesperado. Eu escrevi um código de exemplo para ilustrar meu problema:

# 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)

As instruções de impressão na função fornecem:

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

Enquanto a declaração de impressão no final do código fornece:

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

Compreendoo que está acontecendo, mas não vejo por que. Pode ser um erro simples que está me iludindo, mas estou realmente bastante confuso. Não entendo por que o fuso horário está mudando no retorno. A classe ainda é POSIXct também, apenas o fuso horário mudou.

Além disso, fiz o mesmo que acima, mas retornei uma das datas e o fuso horário da data não mudou. Eu posso contornar isso por enquanto, mas queria ver se alguém tinha alguma idéia do meu problema. Agradeço antecipadamente!

Obrigado pela ajuda abaixo. Em vez disso, fiz:

 return(list(date, nextDay))

e isso resolveu meu problema do fuso horário sendo descartado.

questionAnswers(2)

yourAnswerToTheQuestion