-4

我有一个系统生成的日期和时间格式。它看起来像这样,“ 2017-04-12-02.29.25.000000”。我想将此格式转换为标准格式,以便我的系统可以读取它,然后我可以将其转换为分钟。有人请帮助提供 R 中的代码。

4

1 回答 1

1

如果您不确定格式,guess_formats函数 inlubridate非常有用:

w <- "2017-04-12-02.29.25.000000"
> lubridate::guess_formats(w, orders = 'YmdHMS')
              YOmdHMS                YmdHMS 
"%Y-%Om-%d-%H.%M.%OS"  "%Y-%m-%d-%H.%M.%OS"

orders是您希望函数调查的格式,它会输出正确的表示形式。如果字符串中的第二个条目是您可以尝试的日期YdmHMS

上面示例中输出中两种格式的差异基于第二个条目的格式(始终带有前导零或不带有前导零)。尝试第一种格式给出:

> as.POSIXct(w, format = "%Y-%Om-%d-%H.%M.%OS")
[1] "2017-04-12 02:29:25 EDT"

如果需要,您可以在as.POSIXct通话中指定时区tz

于 2018-06-11T12:53:50.237 回答