我有一个系统生成的日期和时间格式。它看起来像这样,“2017-04-12-02.29.25.000000
”。我想将此格式转换为标准格式,以便我的系统可以读取此格式,稍后我可以将其转换为分钟。有人请帮助在R中提供代码。
答案 0 :(得分:1)
如果您不确定格式,guess_formats
中的lubridate
功能非常有用:
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
。