The timezone aware portion of POSIX datetimes appear to be being dropped during JSON encoding. for example: ~~~~ Browse[2]> as.POSIXlt(Sys.time(), tz= 'UTC') [1] "2017-04-13 19:12:10 UTC" ~~~~ But, ~~~~ Browse[2]> jsonlite::toJSON(as.POSIXlt(Sys.time(), tz= 'UTC')) ["2017-04-13 19:13:19"] ~~~~