Posted to tcl by sebres at Fri Apr 26 19:08:12 GMT 2019view pretty

proc _test_scans {base lst} {
  set res {}
  foreach i $lst {
    puts [lindex $i 0 end]:\t[clock format [clock scan {*}$i -base 1556290000] -timezone [lindex $lst 0 end]]
  }
}

_test_scans 1556290000 {
  {"10:00" -format "%H:%M" -timezone :America/New_York}
  {"10:00 EST"}
  {"10:00 EDT"}
  {"10:00 EST" -format "%H:%M %Z"}
  {"10:00 EDT" -format "%H:%M %Z"}
}
puts " ------------------------- "
_test_scans 1556290000 {
  {"10:00" -format "%H:%M" -timezone :Europe/Berlin}
  {"10:00 CET"}
  {"10:00 CEST"}
  {"10:00 CET" -format "%H:%M %Z"}
  {"10:00 CEST" -format "%H:%M %Z"}
}

## === current result in tcl-core:

Fri Apr 26 10:00:00 EDT 2019 ** refernce value
Fri Apr 26 11:00:00 EDT 2019
Fri Apr 26 10:00:00 EDT 2019
Fri Apr 26 11:00:00 EDT 2019
Fri Apr 26 10:00:00 EDT 2019

################################################################
# suggested result of the cases (backwards-compatible,
# TZ in input decides about DST flag...
################################################################

10:00:	Fr Apr 26 10:00:00 EDT 2019
EST:	Fr Apr 26 11:00:00 EDT 2019
EDT:	Fr Apr 26 10:00:00 EDT 2019
EST:	Fr Apr 26 11:00:00 EDT 2019
EDT:	Fr Apr 26 10:00:00 EDT 2019
 ------------------------- 
10:00:	Fr Apr 26 10:00:00 CEST 2019
CET:	Fr Apr 26 11:00:00 CEST 2019
CEST:	Fr Apr 26 10:00:00 CEST 2019
CET:	Fr Apr 26 11:00:00 CEST 2019
CEST:	Fr Apr 26 10:00:00 CEST 2019

################################################################
# result of the cases for "improved" scanning (e. g. aliasing for CET==CEST is active),
# TZ in foreign input ignores DST flag for TZ with aliases, because does no matter (CET==CEST)...
################################################################

10:00:	Fr Apr 26 10:00:00 EDT 2019
EST:	Fr Apr 26 11:00:00 EDT 2019
EDT:	Fr Apr 26 10:00:00 EDT 2019
EST:	Fr Apr 26 11:00:00 EDT 2019
EDT:	Fr Apr 26 10:00:00 EDT 2019
 ------------------------- 
10:00:	Fr Apr 26 10:00:00 CEST 2019
CET:	Fr Apr 26 10:00:00 CEST 2019
CEST:	Fr Apr 26 10:00:00 CEST 2019
CET:	Fr Apr 26 10:00:00 CEST 2019
CEST:	Fr Apr 26 10:00:00 CEST 2019