Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Currently Thunderbird displays time in AM/PM mode.

How can I change it to 24h mode?


$ locale |grep LC_TIME
share|improve this question
I think it has to do with your computer time settings, not thunderbird's. – Evandro Silva Nov 7 '12 at 12:47
I agree, I think you have to set your locale to a 24 hours format. – NorTicUs Nov 7 '12 at 12:52
I have added my locale setting in my question, however in evolution I don't have the same issue. Furthermore there should be a Theunderbird setting to this issue. – pl1nk Nov 7 '12 at 13:24
for me it is also happening the same; pc settings is 24 h clock but Thunderbird not. – bob Nov 9 '12 at 21:08
It's ridiculous. The question has been asked repeatedly at least since 2005. No change, as far as have been able to find out it's purely hit and miss. – Fsando Nov 15 '12 at 19:12

Ok, solved it:

1) Make sure you have the locale you need, can't say which you specifically need but when you know you create it like this (using en_DK.utf8)

sudo locale-gen en_DK.utf8

2) To make sure this locale is in effect for thunderbird you add it to the script that starts thunderbird, so first find that script:

2a) find the right script

which thunderbird

In my case: /usr/bin/thunderbird

2b) add locale to the script (I use the editor geany):

gksudo geany /usr/bin/thunderbird

Add this in the beginning of the script (I just put at the very beginning):

export LC_ALL

Just want to add this:

EDIT: as pointed out by pl1nk A better solution would be to NOT touch the /usr/bin/thunderbird script and instead create the script '/usr/local/bin/thunderbird' with this content

export LC_ALL
/usr/bin/thunderbird $@

make sure it's executable

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

Then check if it's being used to start thunderbird:

which thunderbird

should respond with this:


Now thunderbird can be started as before.

share|improve this answer
Great solution ... small quibble it's not good practice to use sudo to run an editor, better to use sudoedit for editing files owned as root. – Peter Jenkins Nov 15 '12 at 19:45
Why is this not good practice? I didn't know about sudoedit handy for ssh. OTH: it apparently just start the default non-gui editor, which is fine if it's nano as in my case but I would be less than thrilled to be met with vi which I frankly don't even know how to close. – Fsando Nov 15 '12 at 20:01
In the classic vi editor you can 'escape' to the shell by pressing ':!bash' then you would have root access (if running through sudo). Other editors have similar features because it's helpful to run a compiler and see output without leaving the editor (although frankly with modern window managers it's not really used these days). – Peter Jenkins Nov 15 '12 at 20:25
@Fsando While this could be a solution, it's quite a hack. Don't forget that you need to add this locale code every time that thunderbird packages are being upgraded. – pl1nk Nov 16 '12 at 14:26
@pl1nk yes, I realized that. Just didn't have the time to improve my answer. I much better solution would be to put the LC_* in a script "/usr/local/bin/thunderbird" that calls the global one. – Fsando Nov 17 '12 at 4:01

There's a Super Data Format thunderbird extension:

enter image description here

enter image description here

share|improve this answer
This is a far better answer than any other. – Russ Bateman Oct 4 '15 at 2:25
@RussBateman but (according to the link) this only changes the Date/Received column, not things like Lightning. Changing the locale is more robust. – Sparhawk Jul 4 at 1:52

Fsando's answer works, but LC_ALL will change the entire locale (date, number, currency format, etc) used by Thunderbird instead of just the time format, which is all that's asked for in the question. Not only that, but I don't like creating extra scripts if I don't have to. Here's what I did:

  1. Make sure the en_GB.utf8 locale is available (it should already be available if your desktop language is English):

    locale -a | grep en_GB
  2. If it's not, install the locale, the official way:

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

    Or if you don't feel like installing extra packages:

    sudo locale-gen en_GB.utf8
  3. Copy the Thunderbird launcher locally

    cp /usr/share/applications/thunderbird.desktop ~/.local/share/applications/
  4. Change just the time locale for Thunderbird

    sed -i.bak 's/^Exec=thunderbird %u/Exec=env LC_TIME=en_GB.utf8 thunderbird %u/' ~/.local/share/applications/thunderbird.desktop
  5. If you're using Xfce the change is picked up right away, but if you're using Unity you may have to log out/log back in. Not sure about GNOME.

Next time you open Thunderbird from your launcher, it should use the new time format.


  • Only overrides the time format
  • No extra scripts necessary
  • Only makes the change for your user, not all users on the system

And as a bonus, the change shouldn't get overwritten when the thunderbird package gets updated, because it won't touch your local launcher file.


Note: As Sparhawk mentions, LC_TIME will change date format as well as time format. However, you can find a locale with the same date format and different time format, and thereby change only the time format.

For example, this is what the en_US.UTF8 locale looks like:

$ python -c "import locale, time; locale.setlocale(locale.LC_TIME, 'en_US.UTF8'); print time.strftime(locale.nl_langinfo(locale.D_T_FMT))"
Sun 01 Mar 2015 07:20:39 PM UTC

If we change the locale to en_GB.UTF8, the date format stays the same but the time format switches to 24-hour time:

$ python -c "import locale, time; locale.setlocale(locale.LC_TIME, 'en_GB.UTF8'); print time.strftime(locale.nl_langinfo(locale.D_T_FMT))"
Sun 01 Mar 2015 19:20:39 UTC
share|improve this answer
Won't this change the date format too? – Sparhawk Feb 23 '15 at 23:53
Only if you pick a locale with a different date format. But a good point nonetheless. I've updated my answer. – bmaupin Mar 1 '15 at 19:20
I haven't tried it, but I think the short date differs between en_US.UTF8 and en_GB.UTF8. i.e. the former is MM/DD/YY and the latter is DD/MM/YY. This might make a difference in Thunderbird? – Sparhawk Mar 1 '15 at 21:13
LC_TIME=en_DK.utf8 thunderbird

I run my system as en_US.UTF-8 too, just in case....

share|improve this answer

I just added LC_TIME=en_DK.UTF-8 to /etc/default/locale. Works fine on Linux Mint 17.3.

1) open /etc/default/locale in editor. The content of the file should be something like this:


2) add LC_TIME=en_DK.UTF-8. If LC_TIME= is already there, change it's value to en_DK.UTF-8.

3) Save and restart OS.

/etc/default/locale is no thunderbird specific. If you change the format there it will probably apply to other applications as well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.