如何将Thunderbird的显示时间更改为24h格式?


23

当前,Thunderbird以AM / PM模式显示时间。

如何将其更改为24h模式?

更新1:

$ locale |grep LC_TIME
LC_TIME="en_US.UTF-8"

1
我认为这与您的计算机时间设置有关,而不是与雷鸟有关。
Evandro Silva

我同意,我认为您必须将语言环境设置为24小时格式。
NorTicUs 2012年

我在问题中添加了语言环境设置,但是在进化中我没有相同的问题。此外,应该对此问题设置Theunderbird设置。
pl1nk 2012年

1
对我来说,情况也一样。pc设置是24小时制,但Thunderbird不是。
bob 2012年

1
太荒谬了 至少从2005年以来,这个问题就被反复问过。就目前为止,一直没有发现任何改变。
Fsando,2012年

Answers:


16

好了,解决了:

1)确保您拥有所需的语言环境,不能说出您特别需要的语言环境,但是当您知道这样创建时(使用en_DK.utf8)

sudo locale-gen en_DK.utf8

2)为确保此语言环境对雷鸟有效,请将其添加到启动雷鸟的脚本中,因此首先找到该脚本:

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

然后检查它是否用于启动雷鸟:

which thunderbird

应该这样回应:

/usr/local/bin/thunderbird

现在,雷鸟可以像以前一样启动。


很好的解决方案……小巧的做法使用sudo运行编辑器不是一个好习惯,最好使用sudoedit来编辑以root身份拥有的文件。
彼得·詹金斯

为什么这不是好习惯?我对ssh的sudoedit不了解。OTH:显然,它只是启动默认的非GUI编辑器,如果在我的情况下是nano,这很好,但是我很高兴与vi见面,而我实在不知道该如何关闭。
Fsando 2012年

在经典的vi编辑器中,您可以通过按':!bash'来“转义”到外壳程序,那么您将具有root访问权限(如果通过sudo运行)。其他编辑器也具有类似的功能,因为在不离开编辑器的情况下运行编译器和查看输出很有帮助(尽管坦率地说,现代窗口管理器目前并没有真正使用过)。
彼得·詹金斯

1
@ pl1nk是的,我意识到了。只是没有时间改善我的答案。我更好的解决方案是将LC_ *放在调用全局脚本的脚本“ / usr / local / bin / thunderbird”中。
Fsando,2012年

1
我已经为此提交了一个错误
nh2

11

有一个超级日期格式的雷鸟插件:

在此处输入图片说明

在此处输入图片说明


这是一个比其他任何方法都更好的答案。
罗斯·贝特曼

@RussBateman但是,(根据链接)这只会更改“日期/已接收”列,而不会更改“闪电”之类的内容。更改区域设置更为可靠。
Sparhawk

2
该插件不再受支持,仅兼容Thunderbird版本21 :(
Jeff Puckett

对于时间和日期格式问题,有一个简单的解决方案-较新的插件可用于Thunderbird 60+,该插件允许完全自定义时间和日期格式。它称为“ Enhanced Date Formatter”,在Thunderbird的扩展列表中。只需启动Thunderbird并搜索,安装,自定义即可。
Compatico

@Compatico-感谢您的提示,但是在“ Enhanced Date Formatter”(链接)中,似乎没有任何选项可以更改时间格式,而只能更改日期,因此似乎无法解决24小时的问题。
bitinerant

7

雷鸟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. 更改雷鸟的日期/时间区域设置

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

雷鸟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时,应使用新的日期/时间格式。

好处:

  • 仅覆盖日期/时间格式
  • 无需额外的脚本
  • 仅为您的用户而不是系统上的所有用户进行更改

另外,雷鸟软件包更新后,更改不会被覆盖,因为它不会影响您的本地启动器文件。

资料来源: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

这也不会更改日期格式吗?
Sparhawk

仅当您选择具有不同日期格式的语言环境时。但是,这是一个好点。我已经更新了答案。
bmaupin 2015年

我还没有尝试过,但我想之间的短日期不同en_US.UTF8en_GB.UTF8。即前者是MM / DD / YY,后者是DD / MM / YY。这可能对Thunderbird有所帮助吗?
Sparhawk'3

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)保存并重新启动OS。

/etc/default/locale不是雷鸟专用的。如果您在此处更改格式,则它可能也适用于其他应用程序。



-1

对于时间和日期格式问题,有一个简单的解决方案-较新的插件可用于Thunderbird 60+,该插件允许完全自定义时间和日期格式。它称为“增强的日期格式程序”,在Thunderbird的扩展列表中。只需启动Thunderbird并搜索,安装,自定义即可。


感谢您的提示,但是在“ Enhanced Date Formatter”(链接)中,似乎没有任何选项可以更改时间格式,只能更改日期,因此似乎无法解决24小时的问题。
bitinerant
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.