我需要以秒为单位将时间转换为HH:MM:SS.mm
格式。秒输入是从嵌入式设备中读取的double
,格式为seconds.millseconds
. 我尝试了以下转换代码,但失败了:
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
为int
也不起作用。我试过了
puts "[clock format [expr int($cpu_time)] -format {%H:%M:%S}]"
这会导致一些奇怪的时间。例如,当嵌入式设备返回3.53
(我将其转换为 a 3
)时,打印出来的时间是17:00:03
.