Как изменить время отображения Thunderbird на 24-часовой формат?

23

В настоящее время Thunderbird отображает время в режиме AM / PM.

Как я могу изменить его на 24-часовой режим?

ОБНОВЛЕНИЕ 1:

$ locale |grep LC_TIME
LC_TIME="en_US.UTF-8"
pl1nk
источник
1
Я думаю, что это связано с настройками времени вашего компьютера, а не с Thunderbird.
Эвандро Сильва
Я согласен, я думаю, что вы должны установить свой язык на 24 часа.
NorTicUs
Я добавил свои настройки локали в свой вопрос, однако в процессе эволюции у меня нет такой же проблемы. Кроме того, должна быть установка Theunderbird для этой проблемы.
pl1nk
1
для меня это тоже происходит; Настройки ПК - 24 часа, но Thunderbird - нет.
Боб
1
Это нелепо. Этот вопрос неоднократно задавался, по крайней мере, с 2005 года. Без изменений, насколько удалось выяснить, что это просто удар и промах.
Фсандо

Ответы:

16

Хорошо, решил это:

1) Убедитесь, что у вас есть нужный вам языковой стандарт, не можете сказать, какой именно вам нужен, но когда вы знаете, что создаете его таким образом (используя en_DK.utf8)

sudo locale-gen en_DK.utf8

2) Чтобы убедиться, что этот языковой стандарт действует для thunderbird, добавьте его в скрипт, запускающий thunderbird, поэтому сначала найдите этот скрипт:

2a) найти правильный сценарий

which thunderbird

В моем случае: / usr / bin / thunderbird

2b) добавить локаль к скрипту (я использую редактор geany):

gksudo geany /usr/bin/thunderbird

Добавьте это в начало скрипта (я просто поставил в самом начале):

LC_ALL="en_DK.utf8"
export LC_ALL

Просто хочу добавить это:

https://help.ubuntu.com/community/Locale

РЕДАКТИРОВАТЬ: как указано в pl1nk Лучшим решением было бы НЕ трогать скрипт / usr / bin / thunderbird и вместо этого создать скрипт '/ usr / local / bin / thunderbird' с этим содержимым

#!/bin/sh
LC_ALL="en_DK.utf8"
export LC_ALL
/usr/bin/thunderbird $@

убедитесь, что это исполняемый файл

sudo chmod a+x /usr/local/bin/thunderbird

Затем проверьте, используется ли он для запуска Thunderbird:

which thunderbird

должен ответить этим:

/usr/local/bin/thunderbird

Теперь Thunderbird может быть запущен, как и раньше.

Fsando
источник
Отличное решение ... небольшая путаница - не рекомендуется использовать sudo для запуска редактора, лучше использовать sudoedit для редактирования файлов, принадлежащих пользователю root.
Питер Дженкинс
Почему это не очень хорошая практика? Я не знал о sudoedit удобно для SSH. OTH: он, по-видимому, просто запускает редактор по умолчанию без графического интерфейса, что хорошо, если это nano, как в моем случае, но я был бы менее рад встретиться с vi, который я, честно говоря, даже не знаю, как закрыть.
Фсандо
В классическом редакторе vi вы можете «убежать» в оболочку, нажав «:! Bash», тогда у вас будет root-доступ (если он работает через sudo). Другие редакторы имеют аналогичные функции, потому что полезно запускать компилятор и просматривать вывод, не выходя из редактора (хотя, честно говоря, с современными оконными менеджерами это в действительности не используется в наши дни).
Питер Дженкинс
1
@ pl1nk да, я понял это. Просто не было времени, чтобы улучшить мой ответ. Я бы намного лучше решил поместить LC_ * в скрипт "/ usr / local / bin / thunderbird", который вызывает глобальный.
Фсандо
1
Я подал ошибку для этого.
nh2
11

Существует дополнение Thunderbird для формата Super Date :

введите описание изображения здесь

введите описание изображения здесь

саман
источник
Это гораздо лучший ответ, чем любой другой.
Расс Бейтман
@RussBateman, но (по ссылке) это меняет только столбец Date / Received, а не такие вещи, как Lightning. Смена локали более надежна.
Sparhawk
2
Этот плагин больше не поддерживается и совместим только до версии Thunderbird 21 :(
Джефф
Существует простое решение проблем с форматом времени и даты - для Thunderbird 60+ работает более новый плагин, который позволяет полностью настраивать форматы времени и даты. Он называется «Enhanced Date Formatter» и находится в списке расширений внутри Thunderbird. Просто запустите Thunderbird и найдите его, установите и настройте по своему усмотрению.
Compatico
@Compatico - Спасибо за подсказку, но в «Enhanced Date Formatter» ( ссылка ) нет никакой возможности изменить формат времени, только даты, так что это не похоже на решение для 24-часового времени.
битинер
7

Thunderbird 60

Способ форматирования даты и времени в Thunderbird 60 изменился . Ниже приведен формат даты / времени, который будет выглядеть следующим образом 2018-12-04 14:23:

  1. Создать корневую локаль

    sudo ln -s /usr/share/i18n/locales/en_DK /usr/share/i18n/locales/root
    sudo sh -c "echo 'root.UTF-8 UTF-8' > /var/lib/locales/supported.d/local"
    sudo locale-gen
    
  2. Скопируйте панель запуска Thunderbird локально

    cp /usr/share/applications/thunderbird.desktop ~/.local/share/applications/
    
  3. Изменить локаль даты / времени для Thunderbird

    sed -i.bak 's/^Exec=thunderbird %u/Exec=env LC_TIME=root.utf8 thunderbird %u/' ~/.local/share/applications/thunderbird.desktop
    

Thunderbird 59 и ниже

Ответ Fsando работает, но LC_ALL изменит всю локаль (дату, число, формат валюты и т. Д.), Используемую Thunderbird, а не только формат даты / времени, что и требуется в вопросе. Не только это, но я не люблю создавать дополнительные сценарии, если мне не нужно. Вот что я сделал:

  1. Убедитесь, что локаль en_DK.utf8 доступна (она должна быть доступна, если ваш рабочий стол - английский):

    locale -a | grep en_DK
    
  2. Если это не так, установите локаль официальным способом :

    sudo apt-get -y install language-pack-en
    

    Или, если вы не хотите устанавливать дополнительные пакеты:

    sudo locale-gen en_DK.utf8
    
  3. Скопируйте панель запуска Thunderbird локально

    cp /usr/share/applications/thunderbird.desktop ~/.local/share/applications/
    
  4. Изменить только локаль даты / времени для Thunderbird

    sed -i.bak 's/^Exec=thunderbird %u/Exec=env LC_TIME=en_DK.utf8 thunderbird %u/' ~/.local/share/applications/thunderbird.desktop
    
  5. Если вы используете Xfce, изменения сразу принимаются, но если вы используете Unity, вам, возможно, придется выйти из системы или снова войти в нее. Не уверен насчет GNOME.

В следующий раз, когда вы откроете Thunderbird с вашего запуска, он должен использовать новый формат даты / времени.

Преимущества:

  • Переопределяет только формат даты / времени.
  • Никаких дополнительных сценариев не требуется
  • Вносит изменения только для вашего пользователя, а не для всех пользователей в системе

И в качестве бонуса, изменение не должно перезаписываться при обновлении пакета thunderbird, потому что оно не затронет ваш локальный файл запуска.

Источник:
http://kb.mozillazine.org/Date_display_format

Примечание: как упоминает Sparhawk , LC_TIME изменит формат даты, а также формат времени. Однако вы можете найти локаль с тем же форматом даты и другим форматом времени и тем самым изменить только формат времени.

Например, вот как en_US.utf8выглядит локаль:

$ python3 -c "import locale, time; locale.setlocale(locale.LC_TIME, 'en_US.utf8'); print(time.strftime('%x %X'))"
12/05/2018 03:40:50 PM

Изменение локали en_DK.utf8также изменит формат даты:

$ python3 -c "import locale, time; locale.setlocale(locale.LC_TIME, 'en_DK.utf8'); print(time.strftime('%x %X'))"
2018-12-05 15:41:14
bmaupin
источник
Разве это не изменит формат даты тоже?
Sparhawk
Только если вы выберете локаль с другим форматом даты. Но хороший момент, тем не менее. Я обновил свой ответ.
bmaupin
Я не пробовал это, но я думаю, что короткая дата отличается от en_US.UTF8и en_GB.UTF8. то есть первый - ММ / ДД / ГГ, а второй - ДД / ММ / ГГ. Это может иметь значение в Thunderbird?
Sparhawk
6
LC_TIME=en_DK.utf8 thunderbird

Я запускаю свою систему как en_US.UTF-8, на всякий случай ....

Кьельд Фларуп
источник
Как обсуждалось в комментариях под другими ответами, en_DKперестал работать для более новых версий Thunderbird, но env LC_TIME=sv_SE.UTF-8 thunderbirdбудет работать нормально (если не использовать «длинный» формат даты).
Рэндалл Уитмен
2

Я просто добавил LC_TIME=en_DK.UTF-8к /etc/default/locale. Отлично работает на Linux Mint 17.3, должен работать и в Ubuntu.

1) открыть /etc/default/localeв вашем редакторе. Содержимое файла должно выглядеть примерно так:

LANG="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"

2) доп LC_TIME=en_DK.UTF-8. Если LC_TIME=оно уже есть, измените его значение на en_DK.UTF-8.

3) Сохраните и перезапустите ОС.

/etc/default/localeне является специфическим для Thunderbird. Если вы измените формат там, он, вероятно, будет применяться и к другим приложениям.

Rotareti
источник
0

В Ubuntu 18.04 и более поздних версиях (и, возможно, других дистрибутивах на основе Gnome) формат даты контролируется Gnome для каждого пользователя. Откройте Terminalи введите:

gsettings set org.gnome.desktop.interface clock-format '24h'

Затем перезапустите Thunderbird.

Кредит: комментарий PRATAP по связанному вопросу. Как установить формат даты с 12 до 24 часов в командной строке

bitinerant
источник
-1

Существует простое решение проблем с форматом времени и даты - для Thunderbird 60+ работает более новый плагин, который позволяет полностью настраивать форматы времени и даты. Он называется «Enhanced Date Formatter» и находится в списке расширений внутри Thunderbird. Просто запустите Thunderbird и найдите его, установите и настройте по своему усмотрению.

Compatico
источник
Спасибо за подсказку, но в «Enhanced Date Formatter» ( ссылка ), похоже, нет никакой возможности изменить формат времени, только даты, так что это не похоже на решение для 24-часового времени.
битинер