考虑以下代码:
test_date<-"01-Jan-64"
as.Date(test_date,"%d-%b-%y")
## [1] "2064-01-01"
test_date<-"01-Jan-69"
as.Date(test_date,"%d-%b-%y")
## [1] "1969-01-01"
为什么64被读为2064,69为1969?
答案 0 :(得分:5)
来自?strptime
%Y 没有世纪的年份(00-99)。在输入时,值00到68的前缀为20和69到99乘以19 - 这是2004和2008 POSIX标准指定的行为......
如果存在歧义风险,基本上不要使用两位数年份。