debian squeeze не може да използва местни часови зони, независимо какво правите

Трябва да използвам CLI, за да видя часа в произволни часови зони. Debian обаче не отговаря на препоръчаното решение.

Първо, зададох местната часова зона.

dpkg-reconfigure tzdata

След това настройвам системното време.

ntpdate pool.ntp.org

Актуализирам хардуерния часовник, за да отразява системното време.

hwclock --systohc --utc

Сега следя тази публикация: http://www.linuxquestions.org/questions/programming-9/display-different-timezones-in-command-line-927660/

Което казва, че мога да изпълня задачата си с помощта на команда като тази: TZ=UTC date && TZ=CDT date && TZ=IST date

Това обаче е резултатът, който получавам:

dpkg-reconfigure tzdata && ntpdate pool.ntp.org && hwclock --systohc --utc && TZ=UTC date && TZ=CDT date && TZ=IST date

Current default time zone: 'America/Chicago'
Local time is now:      Tue Apr 16 14:45:29 CDT 2013.
Universal Time is now:  Tue Apr 16 19:45:29 UTC 2013.

16 Apr 19:45:38 ntpdate[12036]: adjust time server 199.102.46.73 offset -0.036668 sec
Tue Apr 16 19:45:39 UTC 2013
Tue Apr 16 19:45:39 CDT 2013
Tue Apr 16 19:45:39 IST 2013

person Laurence Maddox    schedule 16.04.2013    source източник
comment
В бъдеще, моля, форматирайте кода и преписите на сесиите във вашата публикация, така че редовете да не се събират.   -  person Celada    schedule 17.04.2013


Отговори (1)


CDT и IST не са валидни имена на часови зони, така че date по подразбиране ви показва UTC време, ако се опитате да ги използвате като ваша часова зона.

Не съм сигурен кои часови зони всъщност възнамерявате да използвате, но опитайте няколко от тези. Те са валидни имена на часови зони.

TZ=Asia/Shanghai date
TZ=America/Vancouver date
TZ=Europe/London date
person Celada    schedule 16.04.2013
comment
Как да конвертирате от съкращение (напр. CDT) в нещо, което датата ще приеме (напр. Америка/Чикаго)? Как да получа часовата зона за произволен град? Кажете например, че искам часовата зона за Лудхиана, Индия. Този град не е посочен в /usr/share/zoneinfo. - person Laurence Maddox; 17.04.2013
comment
Не можете да конвертирате от кратки 3-буквени съкращения на часови зони в имена на часови зони Olson, защото кратките съкращения са двусмислени. Например и America/Montreal и Australia/Sydney използват съкращението EST. Що се отнася до получаването на часовата зона на произволен град или получаването на часовата зона от географска ширина и дължина, това е задавано и отговаряно много пъти преди на SO. Вижте stackoverflow.com/questions/4669366/timezone-from-geolocation за само един пример сред многото. - person Celada; 17.04.2013
comment
Благодаря за вашата помощ. Тези 3-буквени съкращения ме озадачиха напълно. Мисля, че това описва стъпките, необходими за автоматизиране на това: stackoverflow.com/questions/55901/. В крайна сметка получих конкретната информация, която ми трябваше от wikipedia: В базата данни tz тя е представена от Asia/Kolkata. Последната ми команда е следната: ( TZ=America/Chicago date ; TZ=Asia/Kolkata date ). За повече часови зони бих използвал това: for K in America/Chicago Asia/Kolkata ; do TZ=$K date ; done - person Laurence Maddox; 19.04.2013