使用R编程将包含AM/PM的系数转换为24小时HH:MM时间格式

使用R编程将包含AM/PM的系数转换为24小时HH:MM时间格式,r,time,R,Time,我用R 这应该一点也不难。我想我所缺少的就是辛塔克斯。 我有一个名为“twyrs”的数据帧,其中一列是时间列。 当我上课时(twyrs$时间),它会显示“因子”。 时间格式为“晚上9:00”、“上午00:15”等 我所需要的只是时间分别是“21:00”和“00:15”格式。这是24小时HH-MM格式。我的时间没有分秒。只有几小时和几分钟 我试过了 图书馆(计时) x您需要修复“00:15 AM”时间字符串。使用gsub(“00:,“12:,x,fixed=TRUE)将00替换为12。然后你可以这

我用R

这应该一点也不难。我想我所缺少的就是辛塔克斯。 我有一个名为“twyrs”的数据帧,其中一列是时间列。 当我上课时(twyrs$时间),它会显示“因子”。 时间格式为“晚上9:00”、“上午00:15”等

我所需要的只是时间分别是“21:00”和“00:15”格式。这是24小时HH-MM格式。我的时间没有分秒。只有几小时和几分钟

我试过了

图书馆(计时)
x您需要修复“00:15 AM”时间字符串。使用
gsub(“00:,“12:,x,fixed=TRUE)
00
替换为
12
。然后你可以这样做:

x <- factor(c("9:00 PM","00:15 AM", "12:15 AM" ))
y <- as.POSIXct(x, format = "%I:%M %p", tz = "GMT") #read help("strptime")

library(chron)
times(strftime(y, format = "%H:%M:%S", tz = "GMT"))
#[1] 21:00:00 <NA>     00:15:00
x您需要修复“00:15 AM”时间字符串。使用
gsub(“00:,“12:,x,fixed=TRUE)
00
替换为
12
。然后你可以这样做:

x <- factor(c("9:00 PM","00:15 AM", "12:15 AM" ))
y <- as.POSIXct(x, format = "%I:%M %p", tz = "GMT") #read help("strptime")

library(chron)
times(strftime(y, format = "%H:%M:%S", tz = "GMT"))
#[1] 21:00:00 <NA>     00:15:00

x谢谢。你解决了我的问题。唯一的修改(不是manfdate,很好)我希望Y的时间格式是09:45,而不是09:45:00。我不清楚你想要什么样的对象。如果您只需要一个字符串(而不是chron对象),只需使用strftime(y,format=“%H:%M”,tz=“GMT”)
谢谢。你解决了我的问题。唯一的修改(不是manfdate,很好)我希望Y的时间格式是09:45,而不是09:45:00。我不清楚你想要什么样的对象。如果您只需要一个字符串(而不是一个chron对象),您可以简单地使用
strftime(y,format=“%H:%M”,tz=“GMT”)