В настоящее время я использую функцию 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()
, но, похоже, она работает для дат, поэтому я не уверен, как ее использовать.
Я также посмотрел на lubridate periods()
функции, которые, кажется, дают вывод, как это: "3m 12d 0H 0M 0S" (что было бы здорово), но это, кажется, не работает с моим elapsed_time объект.
Я также посмотрел на stackoverflow и google, но не нашел ответ, который хотел.
поэтому мне было интересно, кто-нибудь может дать мне несколько подсказок о том, как поступить.
Спасибо.
Редактировать: я нашел несколько хороший ответ с комментарием Дэйва и Как получить разницу во времени при выводе с несколькими единицами страница.
library(lubridate)
t1 <- Sys.time()
t2 <- Sys.time()
elapsed_time <- difftime(t2, t1)
as.period(elapsed_time)
Формат результата вывода:
"3H 37M 55S"