如果一个日期向量有两位数的年份,mdy()
将00到68之间的年份转换为21世纪的年份,将69到99之间的年份转换为20世纪的年份.例如:
library(lubridate)
mdy(c("1/2/54","1/2/68","1/2/69","1/2/99","1/2/04"))
给出以下输出:
Multiple format matches with 5 successes: %m/%d/%y, %m/%d/%Y.
Using date format %m/%d/%y.
[1] "2054-01-02 UTC" "2068-01-02 UTC" "1969-01-02 UTC" "1999-01-02 UTC" "2004-01-02 UTC"
我可以在事后通过从错误的日期中减go 100,将2054年和2068年变成1954年和1968年来解决这个问题.但是,有没有一种更优雅、更不容易出错的方法来解析两位数的日期,以便在解析过程中正确处理它们呢?
Update:在@JoshuaUlrich将我指向strptime
之后,我找到了this question,它处理的问题与我的类似,但使用的是base R.
这似乎是对R中日期处理的一个很好的补充,可以在日期解析函数中处理两位数日期的世纪 Select 截止.