Если вечером перед ночной поездкой на дачу лечь подремать и проснуться в половине второго ночи, то определение точного времени становится довольно нетривиальной задачей — как определить, живем ли мы еще в летнем времени или уже в зимнем? Все часы в доме, по идее, переводятся автоматически.

ZONE=`date +%Z`; if [ $ZONE == ‘MSK’ ] ; then echo «Зимнее время»; fi


Комментарии:

: 2 комментария

  1. Кхм. Никогда не задумывался, но, кажется, date должно понимать переводы часов (и отдаст MSK всегда).

    ZONE=`date +%:::z`; if [ $ZONE == '+03' ] ; then echo "Зимнее время"; fi

    1. Не-а. Летом оно отдавало MSD. Вот хорошо, что я терминал не закрыл:

      dao@gw:~$ date
      Sun Oct 25 02:54:30 MSD 2009
      dao@gw:~$ date
      Sun Oct 25 02:02:23 MSK 2009

      Но можно, действительно, и в numeric timezone смотреть. Меня другое удивляет — я, признаться, ожидал, что ко мне сюда набегут ругаться те, у кого машины живут, к примеру, в PDT. :)

Комментарии запрещены.