我有日期和时间列。主要问题是年份(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”) –