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

  1. proc _test_scans {base lst} {
  2. set res {}
  3. foreach i $lst {
  4. puts [lindex $i 0 end]:\t[clock format [clock scan {*}$i -base 1556290000] -timezone [lindex $lst 0 end]]
  5. }
  6. }
  7.  
  8. _test_scans 1556290000 {
  9. {"10:00" -format "%H:%M" -timezone :America/New_York}
  10. {"10:00 EST"}
  11. {"10:00 EDT"}
  12. {"10:00 EST" -format "%H:%M %Z"}
  13. {"10:00 EDT" -format "%H:%M %Z"}
  14. }
  15. puts " ------------------------- "
  16. _test_scans 1556290000 {
  17. {"10:00" -format "%H:%M" -timezone :Europe/Berlin}
  18. {"10:00 CET"}
  19. {"10:00 CEST"}
  20. {"10:00 CET" -format "%H:%M %Z"}
  21. {"10:00 CEST" -format "%H:%M %Z"}
  22. }
  23.  
  24. ## === current result in tcl-core:
  25.  
  26. Fri Apr 26 10:00:00 EDT 2019 ** refernce value
  27. Fri Apr 26 11:00:00 EDT 2019
  28. Fri Apr 26 10:00:00 EDT 2019
  29. Fri Apr 26 11:00:00 EDT 2019
  30. Fri Apr 26 10:00:00 EDT 2019
  31.  
  32. ################################################################
  33. # suggested result of the cases (backwards-compatible,
  34. # TZ in input decides about DST flag...
  35. ################################################################
  36.  
  37. 10:00: Fr Apr 26 10:00:00 EDT 2019
  38. EST: Fr Apr 26 11:00:00 EDT 2019
  39. EDT: Fr Apr 26 10:00:00 EDT 2019
  40. EST: Fr Apr 26 11:00:00 EDT 2019
  41. EDT: Fr Apr 26 10:00:00 EDT 2019
  42. -------------------------
  43. 10:00: Fr Apr 26 10:00:00 CEST 2019
  44. CET: Fr Apr 26 11:00:00 CEST 2019
  45. CEST: Fr Apr 26 10:00:00 CEST 2019
  46. CET: Fr Apr 26 11:00:00 CEST 2019
  47. CEST: Fr Apr 26 10:00:00 CEST 2019
  48.  
  49. ################################################################
  50. # result of the cases for "improved" scanning (e. g. aliasing for CET==CEST is active),
  51. # TZ in foreign input ignores DST flag for TZ with aliases, because does no matter (CET==CEST)...
  52. ################################################################
  53.  
  54. 10:00: Fr Apr 26 10:00:00 EDT 2019
  55. EST: Fr Apr 26 11:00:00 EDT 2019
  56. EDT: Fr Apr 26 10:00:00 EDT 2019
  57. EST: Fr Apr 26 11:00:00 EDT 2019
  58. EDT: Fr Apr 26 10:00:00 EDT 2019
  59. -------------------------
  60. 10:00: Fr Apr 26 10:00:00 CEST 2019
  61. CET: Fr Apr 26 10:00:00 CEST 2019
  62. CEST: Fr Apr 26 10:00:00 CEST 2019
  63. CET: Fr Apr 26 10:00:00 CEST 2019
  64. CEST: Fr Apr 26 10:00:00 CEST 2019
  65.