【问题标题】:Convert any date format into mm/dd/yyyy [duplicate]将任何日期格式转换为 mm/dd/yyyy [重复]
【发布时间】:2020-11-10 14:07:19
【问题描述】:

我有一个包含 3 个日期列的数据集,其日期列格式不正确,有些还包含我无法删除的时间 我想从我的日期列中删除时间,然后将它们转换为 mm/dd/ yyyy 格式。

df

预期输出 日期.1 日期.2 日期.3 2018 年 9 月 21 日 2018 年 9 月 22 日 2018 年 10 月 2 日 2018 年 9 月 24 日 2018 年 9 月 24 日 2018 年 10 月 7 日 2018 年 10 月 3 日 2018 年 10 月 3 日 2018 年 10 月 10 日 2018 年 9 月 24 日 2018 年 9 月 24 日 2018 年 10 月 11 日 2018 年 9 月 22 日 2018 年 9 月 22 日 2018 年 10 月 12 日 2018 年 10 月 8 日 2018 年 10 月 8 日 2018 年 10 月 12 日 2018 年 9 月 30 日 2018 年 9 月 30 日 2018 年 10 月 14 日 ... 对于所有行

【问题讨论】:

  • @RonakShah 请检查已编辑问题

标签: r


【解决方案1】:

您可以使用parse_date_time 解析任何日期格式并使用format 重新格式化它们

数据:

x <- c("2/3/2019","02-6-2020","1/2/2019 0:00")

解决方案:

library(lubridate)
formats <- c("%d/%m/Y", "%d-%m-%Y", "%d/%m/Y %H:%M")
format(parse_date_time(x, orders = formats), "%m-%d-%Y")

【讨论】:

    【解决方案2】:

    也许你可以试试as.Date + format 如下所示

    s <- c("2/3/2019","2/6/2020","1/2/2019 0:00")
    format(as.Date(s,format = "%d/%m/%Y"),"%m/%d/%Y")
    # [1] "03/02/2019" "06/02/2020" "02/01/2019"
    

    【讨论】:

      猜你喜欢
      • 2012-05-05
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 2023-03-15
      相关资源
      最近更新 更多