【问题标题】:How do I parse a concatinated date and time in R?如何在 R 中解析连接的日期和时间?
【发布时间】:2016-07-22 19:47:10
【问题描述】:

2016 年 7 月 1 日下午 1:15 和 43 秒的日期作为字符串 160701131543 提供给我。

我在这个日期时间的数据框中有一整列。我应该如何将此列解析为可用数据。

【问题讨论】:

    标签: r date parsing datetime


    【解决方案1】:

    您可以使用as.POSIXct 函数并指定格式,在您的情况下,格式为年、月、日、小时、分钟、秒。在?strptime 帮助页面上阅读有关格式化日期和时间数据的更多信息。

    as.POSIXct("160701131543", format = "%y%m%d%H%M%S")
    [1] "2016-07-01 13:15:43 EDT"
    

    可以使用“tz”参数更改时区。

    【讨论】:

    • 官方文档更好:help(strptime")
    • 我尝试将此应用到带有ccr$A <- as.POSIXct(ccr$A, format = "%y%m%d%H%M%S") 的列并收到“必须提供来源”然后输入origin = as.POSIXct("1970-01-01 00:00:00", format ="%Y-%m-%d %H:%M:%S", tz = "UTC") 仍然给出相同的错误
    • @KhiemHa 您应该提供一个可重现的示例来说明您的问题。我提供的代码运行没有错误,并回答了您提出的问题。
    • 道歉我发现了错误,我的测试文件被使用 excel 的同事覆盖。第一列中的值最终保存为 1.6E+9 而不是完整值。
    【解决方案2】:

    这是lubridate 的另一个选项。默认tz 是“UTC”。可以通过指定tz来更改

    library(lubridate)
    ymd_hms("160701131543")
    #[1] "2016-07-01 13:15:43 UTC"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多