我正在尝试使用人类可读格式的日期转换数据框" MM / dd / yy"到了纪元日。
以下是数据框的示例:
human.date
1 7/25/11
2 7/25/11
3 7/25/11
4 7/25/11
5 7/25/11
6 7/25/11
我想利用此功能将数据框中的每个日期转换为纪元日:
# Convert from human readable date to days since epoch and round to nearest day
round(as.numeric(as.POSIXct("yyyy/MM/dd HH:mm:ss", origin="1970-01-01"))/86400)
但是,上述功能仅在人类可读日期的格式为" yyyy / MM / dd"时才有效。
round(as.numeric(as.POSIXlt("2000/02/20", origin="1970-01-01"))/86400)
[1] 11007
是否有更简单的方法来执行此转换或我可以使用的其他功能,它将采用" MM / dd / yy"?
格式的日期答案 0 :(得分:2)
您应该使用format
函数的as.POSIXlt
参数:
> human.date <- "7/25/11"
> round(as.numeric(as.POSIXlt(human.date, format = "%M/%d/%y", origin = "1970-01-01"))/86400)
[1] 15180