【问题标题】:How to convert "Fri Jul 26 10:58:25 CEST 2019" to date?如何将“Fri Jul 26 10:58:25 CEST 2019”转换为日期?
【发布时间】:2019-12-04 15:06:25
【问题描述】:

如何将“Fri Jul 26 10:58:25 CEST 2019”之类的字符串正确转换为日期。时区每次都不一样。

as.Date("Fri Jul 26 10:58:25 CEST 2019", "%a %b %d %H:%M:%S CEST %Y")

时区(CEST、CET、...)的正确占位符是什么?或者我怎么能忽略时区?这对我的用例并不重要。

【问题讨论】:

    标签: r timezone as.date


    【解决方案1】:

    也许我对这个问题感到困惑,但如果时区不重要,那么就省略它?

    as.Date("Fri Jul 26 10:58:25 2019", "%a %b %d %H:%M:%S %Y")

    或者如果您需要明确说明

    as.Date("Fri Jul 26 10:58:25 2019", "%a %b %d %H:%M:%S %Y", tz = "CEST")

    使用gsub 删除 CEST:

    as.Date(gsub("(:[[:digit:]][[:digit:]]) ([[:alpha:]]*)", "\\1", x), "%a %b %d %H:%M:%S %Y")

    【讨论】:

    • 我猜 OP 按原样得到"Fri Jul 26 10:58:25 CEST 2019",忽略或包含它不是他们的选择,它已经存在于他们收到的数据中。
    • 我得到了描述的日期字符串。我可以用字符串函数删除时区,但我希望有更好的解决方案。
    • 啊在这种情况下,如果它始终采用这种格式,请使用 sub 删除时区
    • 在我最后一条评论的顶部是在使用gsub 删除时区之后在上面的字符串上调用as.Date 的代码:as.Date(gsub("(:[[:digit:]][[:digit:]]) ([[:alpha:]]*)", "\\1", x), "%a %b %d %H:%M:%S %Y")
    • 那行得通。我虽然也许还有另一个是字符串函数。然而。您可以将此添加到您的答案中吗?然后我会接受它作为正确答案:)
    猜你喜欢
    • 1970-01-01
    • 2020-03-07
    • 2011-08-21
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    相关资源
    最近更新 更多