【问题标题】:Convert numbers to dates [duplicate]将数字转换为日期[重复]
【发布时间】:2013-01-09 22:21:05
【问题描述】:

我有一张表格,其中一列是20130109 或 YearMonthDay 格式的日期,没有空格。

我正在尝试绘制这些点,但由于这个奇怪的间距,最终会在图表中出现很大的空白,因此想将这些数字转换为日期。

我一直在尝试使用 as.Date(as.character(20130107), "%y%m%d"),但它总是返回 NA

【问题讨论】:

标签: r


【解决方案1】:

您需要%Y(4 位数年份)而不是%y(2 位数年份):

> as.Date(as.character(20130107), "%Y%m%d")
[1] "07-01-2013"

【讨论】:

    【解决方案2】:

    使用润滑

    library(lubridate)
    
    parse_date_time(as.character(20130107), "%Y%m%d")
    

    如果您只想提取日期的某些元素,使用 strftime 很容易。例如,只是年份:

    strftime(parse_date_time(as.character(20130107), "%Y%m%d"), "%Y")
    

    【讨论】:

      猜你喜欢
      • 2018-09-21
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-23
      • 2020-07-24
      • 2021-12-26
      相关资源
      最近更新 更多