2013-05-01 92 views
3

我有一個被格式化爲一個日期變量:轉換一個長日期字符串到日期中的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

回答

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" 
+0

作品像一個魅力,我不知道如何處理長時間格式。這兩個例子都很完美 - 謝謝Josh。 – dotcomken 2013-05-01 16:08:30

2

只需提取包含有用信息的字符串部分,並將其輸入到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