使用 时clock scan
,您可以很容易地解析日期和时间(结果精确到秒级)。但是,最好指定您期望的时间格式,如果您只是解析时间,则选择一个固定的时刻作为基线。当这样的事情变得普遍时,最好编写一个帮助程序:
# This is just for parsing time-of-day, *NOT DATES*.
# Handles both HH:MM and HH:MM:SS...
proc timestamp {timeString} {
if {[scan $timeString %d:%d:%d dummy dummy dummy] == 3} {
clock scan $timeString -format %H:%M:%S -base 0 -gmt 1
} else {
clock scan $timeString -format %H:%M -base 0 -gmt 1
}
}
# This should be recognizably similar
set s [::Plotchart::createXYPlot .c \
[list [timestamp 2:40] [timestamp 7:20] [timestamp 12:00:19]] \
{0.0 100.0 20.0} \
-xlabels {2:40 7:20 12:00:19}]
当然,如果你有时间和日期,那么你可以通过选择不同的格式来做得更好。