我怎么能看到HMS格式的Sys.time()的结果,而不是十进制数字?



在我的R脚本中,当我想计算我使用的函数的运行时间时"‘- Sys.time()函数- Sys.time()difftime(完成,开始)"‘我从这些代码得到的答案是:"时差6.60801分钟;我想查看小时:分钟:秒的时间格式。换句话说:我如何获得以下消息作为运行代码的响应?时差6分36秒;谢谢你的帮助

我们可以使用hms包中的as_hms

库(hms)

start <- Sys.time() 
finish <- Sys.time() 
as_hms(difftime(finish, start))
# 00:00:00.00066

您可以使用一些模块化数学并将其放在一个小函数中,例如:

HMS <- (x) sprintf('%03d:%02d:%02d', x %/% 60^2, x %% 60^2 %/% 60, floor(x %% 60^2 %% 60))

t0 <- Sys.time()
t11 <- t0 + 6.60801*60
t12 <- t0 + 25*60^2 + 31*60 + 56.7398
HMS(as.numeric(difftime(t11, t0, units='secs')))
# [1] "000:06:36"
HMS(as.numeric(difftime(t12, t0, units='secs')))
# [1] "025:31:56"

相关内容

  • 没有找到相关文章

最新更新