转换一个长日期字符串到日期中的R

问题描述:

我有一个被格式化为一个日期变量:转换一个长日期字符串到日期中的R

25-APR-2013 03.05.03.000000000 PM 

我把它转换为字符,并试图得到它的格式。我确实使用了as.Date的帮助文档,但它没有帮助我。

我试图找到一个解决方案进入一个Date类型的标准%Y-%间%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" 

这是4超过了360万本。

我愿意接受任何建议。由于

+0

你想要日期或日期时间吗? – 2013-05-01 15:52:50

+0

只是日期,时间不用担心。 – dotcomken 2013-05-01 15:58:25

如果你只是想日期,然后就指定在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" 
+0

作品像一个魅力,我不知道如何处理长时间格式。这两个例子都很完美 - 谢谢Josh。 – dotcomken 2013-05-01 16:08:30

只需提取包含有用信息的字符串部分,并将其输入到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") 
+0

这是如何使用substr来解决这个问题的一个很好的例子。感谢您的建议。 – dotcomken 2013-05-01 16:16:53