[ proc month {{m ""} {func ""} {y ""}} { if {$m == ""} { set m [clock format [clock scan now] -format %m] } if {$y != ""} { set y "/$y" } #set year [clock format [clock scan "$m/1$y"] -format %Y] set daynum [expr [clock format [clock scan "$m/1$y"] -format %u] % 7] append cal "" append cal "" append cal append cal "[string repeat $daynum]" for {set day 1} {![catch "clock scan $m/$day$y"]} {incr day} { set daynum [expr ($daynum + 1) % 7] if {$daynum == 1} { append cal } if {$func == ""} { append cal "" } else { append cal "" } } append cal append cal "
[lindex {January February March April May June July August September October November December} [expr $m - 1]]
SuMoTuWeThFrSa
$day[eval $func $year $month $day]
" return $cal } proc year {{year ""}} { set html "" for {set i 1} {$i < 13} {incr i} { if {($i % 4) == 1} { append html "" } append html "" } append html
[month $i "" $year]
return $html } return [year] ]