是否可以打印 HH:MM:SS 格式的持续时间?
Is it possible to print a duration with HH:MM:SS format?
t1<-as.POSIXct("2017-03-02 11:58:20")
t2<-as.POSIXct("2017-03-02 12:00:05")
print(lubridate::as.duration(lubridate::interval(t1,t2)))
[1] "105s (~1.75 minutes)"
是否可以用HH:MM:SS表示持续时间?所以在这种情况下它将是:
00:01:45
您可以将 lubridate
中的 seconds_to_period
与 sprintf
一起使用
library(lubridate)
td <- seconds_to_period(difftime(t2, t1, units = "secs"))
sprintf('%02d:%02d:%02d', td@hour, minute(td), second(td))
#[1] "00:01:45"
这是基于之前的讨论 - Converting seconds to days: hours:minutes:seconds in r?
保持润滑心态:
t1<-as.POSIXct("2017-03-02 11:58:20")
t2<-as.POSIXct("2017-03-02 12:00:05")
dur <- lubridate::as.period(lubridate::as.duration(lubridate::interval(t1,t2)))
sprintf('%02d %02d:%02d:%02d', day(dur), hour(dur), minute(dur), second(dur))
通常,周期 class 可能不准确(闰日等),但由于它首先经过持续时间,因此应该是正确的。
t1<-as.POSIXct("2017-03-02 11:58:20")
t2<-as.POSIXct("2017-03-02 12:00:05")
print(lubridate::as.duration(lubridate::interval(t1,t2)))
[1] "105s (~1.75 minutes)"
是否可以用HH:MM:SS表示持续时间?所以在这种情况下它将是:
00:01:45
您可以将 lubridate
中的 seconds_to_period
与 sprintf
library(lubridate)
td <- seconds_to_period(difftime(t2, t1, units = "secs"))
sprintf('%02d:%02d:%02d', td@hour, minute(td), second(td))
#[1] "00:01:45"
这是基于之前的讨论 - Converting seconds to days: hours:minutes:seconds in r?
保持润滑心态:
t1<-as.POSIXct("2017-03-02 11:58:20")
t2<-as.POSIXct("2017-03-02 12:00:05")
dur <- lubridate::as.period(lubridate::as.duration(lubridate::interval(t1,t2)))
sprintf('%02d %02d:%02d:%02d', day(dur), hour(dur), minute(dur), second(dur))
通常,周期 class 可能不准确(闰日等),但由于它首先经过持续时间,因此应该是正确的。