如何进行大于 24 小时的操作

How do I do operations with hours greater than 24

我有一份学生在平台上花费了多少时间的清单。该平台将该数据作为累积时间发送给我,这意味着我的时间大于 24 小时。我一直在使用 Chron 包对这个时间进行排序和操作,我才意识到它不接受大于 24 的时间值。我可以将其转换为秒,但我想保持 HH% MM% S % 显示格式。

> time <- chron(times = "24:55:00")
Warning message:
In convert.times(times., fmt) :
time-of-day entries out of range in positions 1 set to NA
> time
Time in days:
[1] NA

您可以改用 lubridate 包中的 hms 函数。

hms("24:55:00") - hms("26:45:00")
## [1] "-2H 10M 0S"

我强烈建议在处理日期时使用 tidyverse 中的 lubridate

library(lubridate)
foo <- "24:55:00"

bar <- hms(foo)
bar
[1] "24H 55M 0S"

class(bar)
[1] "Period"
attr(,"package")
[1] "lubridate"

# Time in days
bar / hours(24)
[1] 1.038194