Есть язык программирования Tcl. Есть у него такая конструкция:
eltclsh > set t [clock scan {2004-10-30 05:00:00} \
-format {%Y-%m-%d %H:%M:%S} \
-timezone :America/New_York]
По идее должна выдавать секунды с начала эпохи для указанной даты во времени Нью-Йорка. Установлен Tcl в NixOS. Версия:
eltclsh > nixos-version
23.11pre497256.86a9533155e (Tapir)
И вот в нём эта штука не работает. Вот что выдаёт:
eltclsh > set t [clock scan {2004-10-30 05:00:00} \
-format {%Y-%m-%d %H:%M:%S} \
-timezone :America/New_York]
time zone ":America/New_York" not found
Здесь пишут:
The current set of places where tcl will try to find Olson files is:
/usr/share/zoneinfo /user/share/lib/zoneinfo /user/lib/zoneinfo /user/local/etc/zoneinfo C:/Progra~1/cygwin/usr/local/etc/zoneinfo
У себя я нашёл только /etc/zoneinfo
:
eltclsh > ls /etc/zoneinfo
Africa Canada EST GMT+0 Iran MET Poland Singapore W-SU
America CET EST5EDT GMT-0 iso3166.tab Mexico Portugal Turkey zone1970.tab
Antarctica Chile Etc GMT0 Israel MST posix tzdata.zi zone.tab
Arctic CST6CDT Europe Greenwich Jamaica MST7MDT PRC UCT Zulu
Asia Cuba Factory Hongkong Japan Navajo PST8PDT Universal
Atlantic EET GB HST Kwajalein NZ right US
Australia Egypt GB-Eire Iceland leapseconds NZ-CHAT ROC UTC
Brazil Eire GMT Indian Libya Pacific ROK WET
Как бы это дело прикрутить к Tcl?