Вчера мои близкие задались вопросом, где во сколько наступает новый год. Для выяснения этого вопроса мы восользовались старинным труёвым методом:
dimss@kolobok:~$ TZ=Asia/Tokyo date
Tue 1 Jan 21:13:35 JST 2019
dimss@kolobok:~$
Но при этом выявили одну неприятную особенность этого метода: неправильно указанный часовой пояс приводит к неправильному результату без какого-либо сообщения об ошибке.
dimss@kolobok:~$ TZ=EET date ; echo $? # Правильно
Tue 1 Jan 14:14:59 EET 2019
0
dimss@kolobok:~$ TZ=EEST date ; echo $? # Неправильно
Tue 1 Jan 12:15:00 EEST 2019
0
dimss@kolobok:~$ TZ=Asia/Tokyo date ; echo $? # Правильно
Tue 1 Jan 21:15:09 JST 2019
0
dimss@kolobok:~$ TZ=Asia/Tokio date ; echo $? # Неправильно
Tue 1 Jan 12:15:14 Asia 2019
0
dimss@kolobok:~$ TZ=Europe/Moscow date ; echo $? # Правильно
Tue 1 Jan 15:15:22 MSK 2019
0
dimss@kolobok:~$ TZ=Russia/Moscow date ; echo $? # Неправильно
Tue 1 Jan 12:15:29 Russia 2019
0
dimss@kolobok:~$ TZ=xren date ; echo $? # Ну, вы поняли
Tue 1 Jan 12:15:35 xren 2019
0
dimss@kolobok:~$
Как вы думаете, это баг или фича?