as.Date returns R 中有四位数字的日期

as.Date returns the day with four digits in R

我正在尝试将字符转换为日期格式,但 "day" 被替换为 4 位数字。

> mydate="20/3/20"
> mydate=as.Date(mydate)
> mydate
[1] "0020-03-20"

这不是几天前发生的,只是现在我重新 运行 一个旧脚本。不知道是不是跟我最近升级到R版本3.6.3有关。

我试图用 gsub 删除“00”,但它再次将日期变回字符。

> mydate=gsub("00","",mydate)
> class(mydate)
[1] "character"

有谁知道我如何解决这个问题 mydate 仍然是日期,或者为什么会这样?

提前致谢

Date class 的默认格式是 "%Y-%m-%d" 即 4 位数字年份后跟一个破折号,然后是两位数,然后是一个破折号和两位数。任何其他格式,我们需要在 as.Date

中指定 format 参数
as.Date(mydate, "%d/%m/%y")
#[1] "2020-03-20"

我们需要非常小心两位数的年份,因为它会导致一些奇怪的输出。年份最好是4位数