如何在R语言中计算两个H:M:S格式字符串的时间差?
计算时间差并转换为总分钟数(R语言)
要解决这个问题,你需要先将字符串格式的时间转换为R可识别的时间对象,再计算时间差,最后转换为总分钟数,具体步骤如下:
转换时间字符串为时间对象
使用strptime()函数将字符串转换为POSIXlt时间对象,指定格式为%H:%M:%S(对应时:分:秒):session_start <- strptime("9:31:56", format = "%H:%M:%S") session_end <- strptime("10:57:25", format = "%H:%M:%S")计算时间差
直接用结束时间减去开始时间,得到difftime类型的时间差对象:time_diff <- session_end - session_start此时
time_diff会显示为类似Time difference of 1.424722 hours的结果。转换为总分钟数
使用as.numeric()函数,指定单位为"mins",将时间差转换为总分钟数:total_minutes <- as.numeric(time_diff, units = "mins")运行后
total_minutes的值为85.48333,即精确到小数的总分钟数。
你也可以把步骤合并成一行代码:
total_minutes <- as.numeric(strptime(session_end, "%H:%M:%S") - strptime(session_start, "%H:%M:%S"), units = "mins")
内容的提问来源于stack exchange,提问作者user13973103
相关产品推荐
相关产品推荐

