如何在TCL中打印绝对时间和相对时间?
如何在TCL中打印绝对时间 输出类似于如何在TCL中打印绝对时间和相对时间?,tcl,Tcl,如何在TCL中打印绝对时间 输出类似于2018-03-07-14:32:09.040+05:30I----- 我想创建一个以微秒为单位打印历元的逻辑。但是我不能使用内置的时钟毫秒打印纪元微秒。您应该参考时钟微秒: 以微秒整数形式返回当前时间 但是,时钟格式不支持此高分辨率时钟值。因此,您必须手动提取结果的微秒小数部分,使用时钟格式以秒精度输出值,然后手动向其添加微秒相关的十进制值(“.XXXXXX”) 此脚本将以微秒精度输出时间: # get current time with microsec
2018-03-07-14:32:09.040+05:30I-----
我想创建一个以微秒为单位打印历元的逻辑。但是我不能使用内置的时钟毫秒
打印纪元微秒。您应该参考时钟微秒
:
以微秒整数形式返回当前时间
但是,时钟格式
不支持此高分辨率时钟值。因此,您必须手动提取结果的微秒小数部分,使用时钟格式
以秒精度输出值,然后手动向其添加微秒相关的十进制值(“.XXXXXX”)
此脚本将以微秒精度输出时间:
# get current time with microseconds precision:
set val [clock microseconds]
# extract time with seconds precision:
set seconds_precision [expr { $val / 1000000 }]
# find number of microseconds:
set microseconds [expr { $val - $seconds_precision*1000000 }]
# output the epoc with microseconds precision:
puts [format "%s.%06d" [clock format $seconds_precision -format "%Y-%m-%d %H:%M:%S"] $microseconds]
输出2018-03-07 11:04:59.946580
如果您更喜欢毫秒精度或希望显示时区,则可以调整脚本。您应该参考时钟微秒的:
以微秒整数形式返回当前时间
但是,时钟格式
不支持此高分辨率时钟值。因此,您必须手动提取结果的微秒小数部分,使用时钟格式
以秒精度输出值,然后手动向其添加微秒相关的十进制值(“.XXXXXX”)
此脚本将以微秒精度输出时间:
# get current time with microseconds precision:
set val [clock microseconds]
# extract time with seconds precision:
set seconds_precision [expr { $val / 1000000 }]
# find number of microseconds:
set microseconds [expr { $val - $seconds_precision*1000000 }]
# output the epoc with microseconds precision:
puts [format "%s.%06d" [clock format $seconds_precision -format "%Y-%m-%d %H:%M:%S"] $microseconds]
输出2018-03-07 11:04:59.946580
如果您更喜欢毫秒精度或希望显示时区,则可以调整脚本。这可能有助于您:
set毫秒[时钟点击]
可变时间[格式“%s_%03d”[时钟格式[时钟秒]-格式%Y%m%d_%H%m%s][expr{$millizes%1000}]
放置$time
这可能会帮助您:
set毫秒[时钟点击]
可变时间[格式“%s_%03d”[时钟格式[时钟秒]-格式%Y%m%d_%H%m%s][expr{$millizes%1000}]
放置$time
使用[时钟微秒]
以微秒精度获取时间戳(应该从Tcl 8.5 IMO开始提供)。但是,我还没有完全理解这个问题:示例输出的14:32:09.040
部分指示毫秒精度(040
ms)。那么,您在时间格式化或具有更高分辨率的时间戳,或者两者兼而有之时,到底在做什么呢?请精确一点,不要让我们浪费时间猜测。使用[时钟微秒]
以微秒精度获取时间戳(应该从Tcl 8.5 IMO开始提供)。不过,我还没有完全理解这个问题:示例输出的14:32:09.040
部分指示毫秒精度(040
ms)。那么,您在时间格式化或具有更高分辨率的时间戳,或者两者兼而有之时,到底在做什么呢?请准确一点,不要让我们浪费时间猜测。@DonalFellows:True,更新了我的帖子,并将尝试制作一个示例。您需要使用格式添加该值,以便在需要时添加前导零。@DonalFellows:True,更新了我的帖子,并将尝试制作一个示例。您需要使用格式
添加该值,以便在需要时添加前导零。