Comportamiento impar de la función POSIXct en R

Estoy trabajando con el tipo de datos POSIXct en R. En mi trabajo, incorporo una función que devuelve dos fechas POSIXct en un vector. Sin embargo, estoy descubriendo un comportamiento inesperado. Escribí un código de ejemplo para ilustrar mi 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)

Las declaraciones de impresión en la función dan:

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

Mientras que la declaración de impresión al final del código da:

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

entiendoqué está sucediendo, pero no veo por qué. Podría ser un simple error que me está eludiendo, pero realmente estoy bastante confundido. No entiendo por qué la zona horaria está cambiando en el regreso. La clase también sigue siendo POSIXct, solo la zona horaria ha cambiado.

Además, hice lo mismo que antes, pero acabo de devolver una de las fechas y la zona horaria de la fecha no cambió. Puedo evitar esto por ahora, pero quería ver si alguien tenía alguna idea de mi problema. ¡Gracias de antemano!

Gracias por la ayuda a continuación. En cambio hice:

 return(list(date, nextDay))

y esto resolvió mi problema de la zona horaria que se eliminó.

Respuestas a la pregunta(2)

Su respuesta a la pregunta