Tcl脚本来计算持续时间



我需要创建一个脚本,在这里我可以计算持续时间,例如:

assign duration1 5.hours
assign duration2 4.minutes
assign duration3 10.seconds
assign seconds [calc_duration [getVar duration1] + [getVar duration2] + [getVar duration3]]*

我想得到一个例子的响应(秒(,我会有";18250〃;秒。

你能帮我做这个吗。

谢谢。

clock add命令可以使用持续时间进行计算,但需要使用基本时间。这一点很重要,因为例如,由于夏令时规则(每年都不一样(,并非所有月份的天数都相同,也并非所有天数的小时数都相同。如果你只处理小单元,而不是太多,你可以忽略这一点,并使用0(Unix纪元的开始(作为基准时间。

set seconds [clock add 0 5 hours 4 minutes 10 seconds]

但是,如果你的工作时间较长,你就需要更加小心。clock add仍然有工具,但您必须正确选择基本时间戳并指定您感兴趣的区域设置。

# You're really supposed to scan with a format, but I'm lazy
set baseTimestamp [clock scan "4/4/2022 10:30 EST"]
set timezone :America/New_York;   # EST/EDT
set timeBits {5 months 4 days 3 hours 2 minutes 1 second}
# Do the time arithmetic
set targetTimestamp [clock add $baseTimestamp {*}$timeBits -timezone $timezone]
# Convert into an elapsed number of seconds
set seconds [expr {$targetTimestamp - $baseTimestamp}]
# 13575721 seconds is a fair while...

相关内容

  • 没有找到相关文章

最新更新