【问题标题】:as.Date returns the day with four digits in Ras.Date 以 R 中的四位数字返回日期
【发布时间】:2020-09-02 17:15:36
【问题描述】:

我正在尝试将字符转换为日期格式,但“天”被替换为 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 保留日期的情况下解决这个问题,或者为什么会发生这种情况?

提前谢谢你

【问题讨论】:

  • 使用格式as.Date(mydate, "%d/%m/%y")#[1] "2020-03-20"

标签: r date digits as.date


【解决方案1】:

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

as.Date(mydate, "%d/%m/%y")
#[1] "2020-03-20"

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    相关资源
    最近更新 更多