我的以下代码提取了2个日期
foreach records $get_times {
lassign $records start_date stop_date
puts [clock format [clock scan $start_date] \
-format {%d %b}]
puts [clock format [clock scan $stop_date] \
-format {%d %b}]
}
有没有办法可以显示start_tdate和stop_date之间的所有日期。 类似的东西:
puts "<tr><td>the $start_date</td>the next Date</td><td>....</td><td>the $stop_date</td>"
答案 0 :(得分:3)
假设您想要在start_date和stop_date之间每天打印,我会在while循环中使用 clock add 。
set start_date [clock scan {2012-04-20 00:00:00} -format {%Y-%m-%d %H:%M:%S}]
set stop_date [clock scan {2012-04-24 00:00:00} -format {%Y-%m-%d %H:%M:%S}]
while {$start_date<$stop_date} {
set start_date [clock add $start_date 1 day]
puts $start_date
}
答案 1 :(得分:1)
您可以使用clock scan
能够使用“英语”时间范围来获取您想要的内容。例如:
set start_ts [clock scan $start_date]
set end_ts [clock scan $stop_date]
for {set current $start_ts} {$current < $end_ts} {set current [clock scan "+1 day" -base $current} {
puts [clock format $current -format {%d %b}]
}