【发布时间】:2016-11-29 06:09:47
【问题描述】:
我导入了一个带有dd-mmm-yyyy hh:mm:ss AM/PM 形式的日期字符串的文件。
- 我正在努力寻找将其转换为时间部分为 24 小时格式的日期时间格式的 R 代码,并且
- 如何创建仅包含日期的新变量。
作为日期之一的示例,请参见下文:26-AUG-2016 08.48.43.65483000 AM
看来秒也是有小数的。
R 版本 3.3.1
【问题讨论】:
我导入了一个带有dd-mmm-yyyy hh:mm:ss AM/PM 形式的日期字符串的文件。
作为日期之一的示例,请参见下文:26-AUG-2016 08.48.43.65483000 AM
看来秒也是有小数的。
R 版本 3.3.1
【问题讨论】:
我们可以使用正确格式的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"
【讨论】:
strptime(roapr16$sys_date, "%d-%b-%Y %H.%M.%OS %p")
我建议使用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"
【讨论】: