user369599
user369599

Reputation: 81

R as.POSIXct(Sys.Date()) returns date a day early

What am I missing ?

Sys.Date()
[1] "2011-12-15"

as.POSIXct(Sys.Date())
[1] "2011-12-14 19:00:00 EST"  # Returning the day before !!

as.POSIXct(Sys.Date(), origin="1970-01-01 00:00:00")
[1] "2011-12-14 19:00:00 EST"  # Still returning day before !!

Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;
LC_MONETARY=English_United States.1252;LC_NUMERIC=C;
LC_TIME=English_United States.1252"

Thanks for your help

Upvotes: 6

Views: 1014

Answers (1)

G. Grothendieck
G. Grothendieck

Reputation: 269471

Its likely a time zone problem. Try this:

as.POSIXct(format(Sys.Date()))

Note that Sys.time() also exists.

See R Help Desk article in R News 4/1 for some details on this.

Upvotes: 6

Related Questions