需要转换日期格式为" MM / dd / yy"到了R的时代

时间:2016-07-06 16:16:28

标签: r

我正在尝试使用人类可读格式的日期转换数据框" 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"?

格式的日期

1 个答案:

答案 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