简体   繁体   中英

How to convert date to datetime to seconds since UNIX epoch in R with lubridate?

I'm noticing this very confusing behavior.

library(lubridate)
x = as_date(-25567)
as.integer(as_datetime(x)) # Returns NA

How can I get this to return the seconds since (or in this case before) UNIX epoch?

This works with base R, now that we covered that you really want as.Date("1970-01-01") .

R> as.POSIXct("1900-01-01 00:00:00")    
[1] "1900-01-01 CST"                       
R> as.numeric(as.POSIXct("1900-01-01 00:00:00"))
[1] -2208967200        
R> 

I vaguely recall some OS-level irritations for dates prior to the epoch. This may fail for you on the world's most commonly used OS but that is not really R's fault...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM