将秒转换为小时、分钟、秒格式 [英] Convert seconds to hours minutes seconds format
本文介绍了将秒转换为小时、分钟、秒格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
HH:MM:SS.mm
格式。秒输入是从嵌入式设备读取的,其格式为seconds.millseconds
double
。我尝试了以下转换代码,但失败了:
set cpu_time [function_that_fetches_the_time]
puts "[clock format $cpu_time -format {%H:%M:%S}]"
此操作失败,并显示错误
expected integer but got "98.92"
从
引发"ParseFormatArgs {*}$args"
(procedure "::tcl::clock::format" line 6)
我可以将DOUBLE转换为整数,上面的方法也可以使用,但如果输出显示中也有毫秒部分就更好了。
另外,毫秒的时钟格式说明符是什么?
编辑:
double
转换为int
也不起作用。我试过了
puts "[clock format [expr int($cpu_time)] -format {%H:%M:%S}]"
它导致了一些奇怪的时间。例如,当嵌入式设备返回3.53
(我将其转换为3
)时,输出的时间为17:00:03
。
推荐答案
格式化可靠工作的时间间隔的最简单方法是全部手动完成。
set cpu_time [function_that_fetches_the_time]
set cpu_ms [expr { int(fmod($cpu_time, 1.0) * 1000) }]
set cpu_secs [expr { int(floor($cpu_time)) % 60 }]
set cpu_hrs [expr { int(floor($cpu_time / 3600)) }]
set cpu_mins [expr { int(floor($cpu_time / 60)) % 60 }]
puts [format "%d:%02d:%02d.%3d" $cpu_hrs $cpu_mins $cpu_secs $cpu_ms]
您可能希望将其包装在过程…中
这篇关于将秒转换为小时、分钟、秒格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文