将长日期字符串转换为R中的日期

时间:2013-05-01 15:48:05

标签: r

我有一个日期变量格式为:

25-APR-2013 03.05.03.000000000 PM

我已将其转换为角色并尝试将其格式化。我确实使用as.Date的帮助文档,但它没有帮助我。

我正在尝试找到一个解决方案,将其转换为标准%Y-%m-%d的日期类型

> df$DELETE_DATE
[1] "01-JUN-2011 05.24.12.000000000 AM" 
[2]"01-SEP-2011 03.54.01.000000000 AM" 
[3]"01-SEP-2012 05.20.10.000000000 AM"
[4] "01-JAN-2013 02.45.55.000000000 AM" 

这是360万中的4个。

我愿意接受任何建议。感谢

2 个答案:

答案 0 :(得分:5)

如果您只想要日期,那么只需在format参数中指定该部分:

as.Date("25-APR-2013 03.05.03.000000000 PM","%d-%b-%Y")
#[1] "2013-04-25"

如果您想要完整的日期时间,请将as.POSIXct与自定义format一起使用:

as.POSIXct("25-APR-2013 03.05.03.000000000 PM",format="%d-%b-%Y %I.%M.%OS %p")
#[1] "2013-04-25 15:05:03 CDT"

答案 1 :(得分:2)

只需使用substr()提取包含有用信息的字符串部分,然后将其提供给as.Date()

orig.string<-"25-APR-2013 03.05.03.000000000 PM"
as.Date(substr(orig.string, start=1, stop=11), format="%d-%b-%Y")