【问题标题】:Manage multiple Date formats to POSIXct [duplicate]将多种日期格式管理为 POSIXct [重复]
【发布时间】:2018-01-28 22:43:00
【问题描述】:

我有两个具有两种不同日期格式的数据框,第一个是“%d/%m/%Y %H:%M:%S”,第二个是“%Y-%m-%d %H:% M:%S"。

我想创建一个通过指示格式转换为 POSIXct 的函数。

我的代码:

date_func <- function(df){
 colnum <- grep("DATE", colnames(df))
 df[, (colnum) := lapply(.SD, dmy_hms), .SDcols = colnum]
 return(df)
}

对于第一种格式,它可以工作,但对于第二种格式,转换后我只有 NA 值。

那么,无论指定的格式如何,我如何创建一个转换为 POSIXct 的函数?

感谢您的帮助。

【问题讨论】:

  • 我认为你应该寻找lubridate 包。以异构格式解析日期是很好的。

标签: r lubridate


【解决方案1】:

lubridate 提供了非常好的选项来处理异构格式的日期/时间。可以使用parse_date_time。以 OP 中指定的格式转换日期/时间的简单示例是:

library(lubridate)
>parse_date_time(c("01/12/2016 01:11:54", "2015-12-31 10:05:11"), c("dmY HMS", "Ymd HMS"))
# [1] "2016-12-01 01:11:54 UTC" "2015-12-31 10:05:11 UTC"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多