Posted to tcl by kbk at Sat Oct 24 21:19:16 GMT 2009view pretty
--- d:/SourceForge/tcl/library/clock.tcl Fri Sep 11 14:30:27 2009 +++ d:/tcl8.6test/lib/tcl8.6/clock.tcl Sat Oct 24 17:16:40 2009 @@ -3789,11 +3789,16 @@ } # Fill in defaults for European or US DST rules + # US start time is the second Sunday in March + # EU start time is the last Sunday in March + # US end time is the first Sunday in November. + # EU end time is the last Sunday in October if { [dict get $z startDayOfYear] eq {} && [dict get $z startMonth] eq {} } then { - if {($stdHours>=0) && ($stdHours<=12)} { + if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} { + # EU dict set z startWeekOfMonth 5 if {$stdHours>2} { dict set z startHours 2 @@ -3801,6 +3806,7 @@ dict set z startHours [expr {$stdHours+1}] } } else { + # US dict set z startWeekOfMonth 2 dict set z startHours 2 } @@ -3812,7 +3818,8 @@ if { [dict get $z endDayOfYear] eq {} && [dict get $z endMonth] eq {} } then { - if {($stdHours>=0) && ($stdHours<=12)} { + if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} { + # EU dict set z endMonth 10 dict set z endWeekOfMonth 5 if {$stdHours>2} { @@ -3821,6 +3828,7 @@ dict set z endHours [expr {$stdHours+2}] } } else { + # US dict set z endMonth 11 dict set z endWeekOfMonth 1 dict set z endHours 2