Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: tzdata  (Прочитано 801 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн diff

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
tzdata
« : 28 Ноября 2016, 12:19:16 »
По запарке обновили на рабочем 12.04 пакет tzdata - теперь date вместо "MSK" возвращает "+03". Куча самописных программ слетела на UTC.
Волшебный dpkg-reconfigure tzdata не помогает.

Уволившийся давным-давно кодер говорит, что проблема не во времени и не в самом часовом поясе - вся проблема именно в отображении "+03" вместо "MSK". Где хранится это значение, чтобы заменить его ручками?

Пользователь добавил сообщение 28 Ноября 2016, 12:26:56:
Проверил на тестовом 12.04.5 - на нём date тоже после обновления стокового tzdata вместо канонического наименования ч/п "YEKT" возвращает "+06", в результате самописный софт начинает глючить :(
« Последнее редактирование: 28 Ноября 2016, 12:26:56 от diff »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: tzdata
« Ответ #1 : 28 Ноября 2016, 12:47:26 »
zdump -v /etc/localtime | tail -n 2
zdump -v /usr/share/zoneinfo/Europe/Moscow | tail -n 4
???

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: tzdata
« Ответ #2 : 28 Ноября 2016, 15:44:42 »
А, простите, почему у вас софт вообще завязан на строковое представление даты?..
Почините ваш софт.
И, да, нет больше такой зоны - MSK. Есть RTZ2.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: tzdata
« Ответ #3 : 28 Ноября 2016, 16:10:25 »
И, да, нет больше такой зоны - MSK. Есть RTZ2.
Откуда такая информация?

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 28 Ноября 2016, 16:18:46 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: tzdata
« Ответ #4 : 28 Ноября 2016, 16:33:34 »
Да, мой косяк. Значит, ТС как-то неправильно спрашивает систему. Что не отменяет того факта, что парсить строковое представление даты - неправильно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: tzdata
« Ответ #5 : 28 Ноября 2016, 17:08:50 »
AnrDaemon, в программе может быть поразному....

Допустим запрос к web-сервису возвращает текстовое представление даты-времени. Локально, понятное дело, есть цифровая структура представления (например: текущее время-дата или время-дата обновления файла). Для того, чтобы ими оперировать их нужно привести к общему виду. И вот тут возникает два решения (оба - рабочие):
1. преобразовать строку полученную от сервиса в числовое представление и оперировать датами в числах.
2. преобразовать локальное числовое в строку и оперировать строками.

Понятно, что второе решение - концептуально -  не гуд. Но если нужно один раз сравнить, то программист (не особо включая мозг) может выбрать и второй вариант просто потому, что он может показаться проще, ведь форматировать вывод даты в строчном виде - у него уже наверняка где-то есть в коде  ;)...

Собственно такая концептуальная ошибка по работе с датами лично мне попадалась уже много раз причем в кодах очень разных проектов... один из которых корнями даже в IBM (BPCS - если что...).

Поэтому я бы не стал поливать помоями разработчиков того софта. Они были конечно не правы, но к сожалению грабли эти топтались, топчутся и будут еще очень долго топтаться...

ЗЫ тут давеча на коленке накидывал код по демону тындекс диска - так тоже прошел по этим граблям.... и хотя спохватился и переписал таки, но факт остается фактом - втрой вариант чисто на ходу кажется проще :) Подтверждено собственной шкурой :)
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн diff

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: tzdata
« Ответ #6 : 28 Ноября 2016, 17:48:52 »
А, простите, почему у вас софт вообще завязан на строковое представление даты?..
Без понятия, кодера у нас нет, он ушёл почти сразу после релиза 12.04. Мне и самому интересно было бы разобраться в природе сего глюка, честно говоря. Просто чтобы не было тёмных пятен там, где их быть не должно.


Почините ваш софт.
Долго объяснять причины, по которым это невозможно в принципе. Да и чинить там по большому счёту нечего, всё работает как часы, за исключением, собственно, привязки к часовому поясу - такая вот ирония судьбы.

Пользователь добавил сообщение 28 Ноября 2016, 17:49:32:
Проблема решена, спасибо всем за участие, топик можно закрывать.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: tzdata
« Ответ #7 : 28 Ноября 2016, 18:14:45 »
На данном форуме, как и на большинстве технических, принято оглашать методы решения проблемы.

Оффлайн diff

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: tzdata
« Ответ #8 : 29 Ноября 2016, 14:18:05 »
На данном форуме, как и на большинстве технических, принято оглашать методы решения проблемы.
Скопировал одноимённый файл нужного часового пояса с рабочего (не обновляющегося) LTS.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3030
    • Просмотр профиля
Re: tzdata
« Ответ #9 : 29 Ноября 2016, 20:43:02 »
diff, Так делать нежелательно. Если есть подозрения, то лучше переустановить tzdata,
а потом ввести команду
dpkg-reconfigure tzdataУ меня в Ubuntu-16.04 тоже MSK.
Пётр.

Оффлайн diff

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: tzdata
« Ответ #10 : 30 Ноября 2016, 04:48:40 »
diff, Так делать нежелательно. Если есть подозрения, то лучше переустановить tzdata,
а потом ввести команду
dpkg-reconfigure tzdataУ меня в Ubuntu-16.04 тоже MSK.
Понял, спасибо за подсказку - на тестовом на неделе поиздеваюсь вдоволь на эту тему.

 

Страница сгенерирована за 0.066 секунд. Запросов: 25.