簡體   English   中英

如何使用HH:MM:SS將difftime對象格式化為字符串

[英]How to format a difftime object to a string with HH:MM:SS

我認為這是一個非常簡單的問題,但我無法解決它,所以任何幫助都會非常感激。

我有一個difftime對象,生成如下:

> duration <- difftime(end_time, start_time)
> duration
Time difference of 15.74106 secs

end_timestart_time對象是POSIXct對象,如下所示:

> c(start_time, end_time)
[1] "2018-07-08 20:07:56 EDT" "2018-07-08 20:08:12 EDT"

我需要以HH:MM:SS格式顯示duration - 就像這樣,在字符串中:

"00:00:15"

這個問題有一個簡單的答案嗎? 我玩過format參數,但它不起作用。 提前謝謝你的幫助,Nik

一種可能的解決方案是

library(hms)

duration <- difftime("2018-07-08 20:08:12 EDT", "2018-07-08 20:07:56 EDT")
as.hms(duration)
# 00:00:16

這個鏈接可能有幫助。 它解釋了你想要的很少或更多。

使用基數R的一般解決方案,靈感來自G.格洛騰迪克對問題的回答: 輸出difftime為HH:MM:SS:mm in R

duration <- difftime(end_time, start_time, units="secs")
x <- abs(as.numeric(duration))
sprintf("%02d:%02d:%02d:%02d", x %/% 86400,  x %% 86400 %/% 3600, x %% 3600 %/% 
60,  x %% 60 %/% 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM