我有日期和時間列。主要問題是年份(2016)未在csv文件中完成,而OCT也不是數字。以字母爲單位更改月份的日期格式
Date Time rtime
20-Oct-16 14:02:00 20-Oct-16 14:02:00
20-Oct-16 14:02:03 20-Oct-16 14:02:03
我想這種格式
newtime
2016-10-20 14:02:00
2016-10-20 14:02:03
如何使當月的常規數字格式,使16到2016年
我有日期和時間列。主要問題是年份(2016)未在csv文件中完成,而OCT也不是數字。以字母爲單位更改月份的日期格式
Date Time rtime
20-Oct-16 14:02:00 20-Oct-16 14:02:00
20-Oct-16 14:02:03 20-Oct-16 14:02:03
我想這種格式
newtime
2016-10-20 14:02:00
2016-10-20 14:02:03
如何使當月的常規數字格式,使16到2016年
隨着lubridate你不任何建議稱爲newtime
另一列如果月份帶有名稱(Oct)或十進制數字(10)或年份是2016或16,則不需要指定.Labridate函數解析異構日期時間格式。例如:
library(lubridate)
df$newtime = dmy_hms(df$rtime)
Date Time rtime newtime
1 20-Oct-16 14:02:00 20-Oct-16 14:02:00 2016-10-20 14:02:00
2 20-Oct-16 14:02:03 20-Oct-16 14:02:03 2016-10-20 14:02:03
如果您使用strptime
那麼您需要定義格式。見?strptime。
我們可以使用strptime
strptime("20-Oct-16 14:02:00", "%d-%b-%y %H:%M:%S")
或者dmy_hms
從lubridate
lubridate::dmy_hms("20-Oct-16 14:02:00")
我們也可以使用as.POSIXct
與format
as.POSIXct("20-Oct-16 14:02:00", format = "%d-%b-%y %H:%M:%S")
#[1] "2016-10-20 14:02:00 IST"
使用dmy_hms(DF $ RTIME)如dmy_hms(「20-Oct-16 14:02:00」) –