从 R 中的 hms 中减去一小时而不产生负值
Subtract one hour from hms in R without generating negative values
如何从 hms 中减去一小时?
例如我有
hms("01:00:00")
我想在 00:00:00
中转换它
更新:
例如,当从 00:45:00 中减去一小时时,结果应该是“01:45:00”并且没有负值。
我们可以使用
library(lubridate)
out <- hms("01:00:00")
out@hour <- out@hour - 1
sprintf("%02d:%02d:%02d", out@hour, out@minute, seconds(out))
[1] "00:00:00"
我们可以用as.ITime
减去3600
as.ITime("01:00:00") - 3600
[1] "00:00:00"
hms::hms(lubridate::hms("01:00:00") - lubridate::hours(1))
00:00:00
这有效:
strptime("00:45:00", format = "%H:%M:%S") - 3600
如何从 hms 中减去一小时? 例如我有
hms("01:00:00")
我想在 00:00:00
中转换它更新: 例如,当从 00:45:00 中减去一小时时,结果应该是“01:45:00”并且没有负值。
我们可以使用
library(lubridate)
out <- hms("01:00:00")
out@hour <- out@hour - 1
sprintf("%02d:%02d:%02d", out@hour, out@minute, seconds(out))
[1] "00:00:00"
我们可以用as.ITime
减去3600
as.ITime("01:00:00") - 3600
[1] "00:00:00"
hms::hms(lubridate::hms("01:00:00") - lubridate::hours(1))
00:00:00
这有效:
strptime("00:45:00", format = "%H:%M:%S") - 3600