【问题标题】:Convert a string to Date by as.Date function通过 as.Date 函数将字符串转换为日期
【发布时间】:2018-03-05 23:15:03
【问题描述】:

我的字符串格式为:20170814,并想通过 as.Date 函数转换为日期,但继续生成“NA”。 这是我的功能:

a<-"20170814"
as.Date(a,"%y-%m/%d")

你能给我一些帮助吗 谢谢

【问题讨论】:

标签: r as.date


【解决方案1】:

格式为%Y%m%d,没有-

as.Date(a,"%Y%m%d")
#[1] "2017-08-14"

另一个选项是anytime,它可以解析大多数格式并将其转换为Date

anytime::anydate(a)
#[1] "2017-08-14"

class(anytime::anydate(a))
#[1] "Date"

【讨论】:

    【解决方案2】:

    lubridate 的一个解决方案:

    lubridate::ymd(a)
    
    # [1] "2017-08-14"
    
    class(lubridate::ymd(a))
    
    # [1] "Date"
    

    【讨论】:

      【解决方案3】:

      你想用

      as.Date(a, "%Y%m%d")
      # [1] "2017-08-14"
      

      因为"%Y%m%d"是对您提供的字符格式的描述,不包括/-。此外,当年份由 4 位而不是 2 位组成时,需要Y

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-27
        • 1970-01-01
        • 2011-11-28
        • 1970-01-01
        • 1970-01-01
        • 2016-05-03
        相关资源
        最近更新 更多