如何使用 lubridate 将日期转换为自 UNIX 纪元以来的秒数?

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

我注意到这种非常令人困惑的行为。

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

我怎样才能把它变成 return 自 UNIX 纪元以来(或在这种情况下之前)的秒数?

这适用于基础 R,现在我们已经介绍了您真正想要的 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> 

我依稀记得一些 OS 级别的对纪元之前日期的恼怒。这可能会在世界上最常用的 OS 上失败,但这并不是 R 的错...