您好我有以下数据框,其中几个日期有“dd-mm-yyyy hh:mm”格式和少量“mm / dd / yyyy hh:mm”。但是我想将所有内容更改为“mm / dd / yyyy hh:mm”格式
下面,“02-05-2018 07:45”采用“dd-mm-yyyy hh:mm”格式。哪一个 意思是,5月2日。我需要将它转换为2月5日 “02/05/2018 07:45”这是mm / dd / yyyy hh:mm“格式
输入:
-w
输出:
Date / Time Object Value
02-05-2018 07:45 30
02-05-2018 08:00 0
1/30/2018 22:30 65.125
1/30/2018 22:45 0
1/30/2018 23:00 58
答案 0 :(得分:0)
如果你的日期/时间是一个角色,你可以用POSIXct格式获得所需的日期时间:
library(lubridate)
mdy_hm("02-05-2018 07:45")
或以字符格式:
library(lubridate)
as.character(mdy_hm("02-05-2018 07:45"))
答案 1 :(得分:0)
我们可以使用anytime
将多种格式转换为'DateTime'对象
anytime::anytime(df1[,1])
#[1] "2018-02-05 07:45:00 IST" "2018-02-05 08:00:00 IST" "2018-01-30 22:30:00 IST"
#[4] "2018-01-30 22:45:00 IST" "2018-01-30 23:00:00 IST"
最好保留日期时间类而不是更改为其他格式。但是,它可以随format
format(anytime::anytime(df1[,1]), "%m/%d/%Y %H:%M")
#[1] "02/05/2018 07:45" "02/05/2018 08:00" "01/30/2018 22:30"
#[4] "01/30/2018 22:45" "01/30/2018 23:00"
df1 <- structure(list(DateTime = c("02-05-2018 07:45", "02-05-2018 08:00",
"1/30/2018 22:30", "1/30/2018 22:45", "1/30/2018 23:00"), ObjectValue = c(30,
0, 65.125, 0, 58)), .Names = c("DateTime", "ObjectValue"),
class = "data.frame", row.names = c(NA, -5L))