R代码转换日期时间格式

R代码转换日期时间格式,r,date,datetime,dataframe,R,Date,Datetime,Dataframe,您好,我有下面的数据框,其中少数日期的格式为“dd-mm-yyyy-hh:mm”,少数日期的格式为“mm/dd/yyyy-hh:mm”。但是,我想将全部更改为“mm/dd/yyyy hh:mm”格式 以下“02-05-2018 07:45”为“dd-mm-yyy-hh:mm”格式。哪个 是指5月2日。我需要把它转换到2月5日,即 “2018年5月2日07:45”,格式为mm/dd/yyyy hh:mm 输入: Date / Time Object Value 02-05-201

您好,我有下面的数据框,其中少数日期的格式为“dd-mm-yyyy-hh:mm”,少数日期的格式为“mm/dd/yyyy-hh:mm”。但是,我想将全部更改为“mm/dd/yyyy hh:mm”格式

以下“02-05-2018 07:45”为“dd-mm-yyy-hh:mm”格式。哪个 是指5月2日。我需要把它转换到2月5日,即 “2018年5月2日07:45”,格式为mm/dd/yyyy hh:mm

输入:

 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
输出:

 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

如果您的日期/时间是一个字符,则可以获得POSIXct格式的所需日期时间:

library(lubridate)
mdy_hm("02-05-2018 07:45")
或以字符格式:

library(lubridate)
as.character(mdy_hm("02-05-2018 07:45"))

我们可以随时使用
将多种格式转换为“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"
最好保留在date time类中,而不是更改为其他格式。但是,可以使用
格式更改它

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否,日期时间变量是转换为“yyyy dd mm”的字符format@Anagha如果您使用
格式
选中第二个选项,它将转换为您为“02-05-2018 08:00”显示的预期格式" format@Anagha使用我帖子中的数据。我是从你的帖子上抄来的,它不是扔的NAs@Anagha我无法在任何时间(“02-05-2018 08:00”)#[1]“2018-02-05 08:00:00 IST”重现问题

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))