我如何像这样格式化difftime()值:Y:M:W:D:H:S

时间:2019-05-13 14:57:01

标签: r time lubridate difftime

我目前使用difftime()函数来获取两个Sys.time()对象之间的经过时间。

即:

t1 <- Sys.time()
t2 <- Sys.time()
elapsed_time <- difftime(t2, t1)

当前输出类似于:

5.188578 days

我想以这种方式获得显示经过时间的输出:

5 days : 4 hours : 30 mins : 15 secs

或类似的东西。

我已经尝试过strptime()函数,但是它似乎适用于日期,所以我不确定如何使用它。

我还查看了润滑的periods()函数,该函数似乎提供了这样的输出:“ 3m 12d 0H 0M 0S” (这很好),但似乎并没有使用我的elapsed_time对象。

我也查看了stackoverflow和google,但是没有找到我想要的答案。

所以我想知道是否有人可以给我一些有关如何进行的线索。 谢谢。

编辑:通过Dave的评论和How to get time differences with output having multiple units页面,我找到了一个很好的答案。

library(lubridate)
t1 <- Sys.time()
t2 <- Sys.time()
elapsed_time <- difftime(t2, t1)

as.period(elapsed_time)

输出结果格式为:

"3H 37M 55S"

0 个答案:

没有答案