我导入的文件的日期字符串格式为dd-mmm-yyyy hh:mm:ss AM/PM
。
作为其中一个日期的例子见下文:
26-AUG-2016 08.48.43.65483000 AM
似乎秒也有小数。
R版本3.3.1
答案 0 :(得分:3)
我们可以使用格式正确的strptime
strptime("26-AUG-2016 08.48.43.65483000 AM", "%d-%b-%Y %H.%M.%OS %p")
#[1] "2016-08-26 08:48:43 IST"
如果您只想要日期,我们可以将其包装在format
format(strptime("26-AUG-2016 08.48.43.65483000 AM", "%d-%b-%Y %H.%M.%OS %p"),
"%d-%m-%Y")
#[1] "26-08-2016"
并且只获得时间,
format(strptime("26-AUG-2016 08.48.43.65483000 AM", "%d-%b-%Y %I.%M.%OS %p"),
"%H:%M:%S")
#[1] "08:48:43"
format(strptime("26-AUG-2016 08.48.43.65483000 PM", "%d-%b-%Y %I.%M.%OS %p"),
"%H:%M:%S")
#[1] "20:48:43"
答案 1 :(得分:1)
我建议使用lubridate
包:
lubridate::mdy_hms("01/22/2013 11:00:00 PM")
这会产生:
[1] "2013-01-22 23:00:00 UTC"
返回的对象属于"POSIXct"/"POSIXt"
类,因此如果您希望获取日期或提取时间,您应该可以方便地操作它:
>> as.Date(lubridate::mdy_hms("01/22/2013 11:00:00 PM"))
[1] "2013-01-22"