Currently Thunderbird displays time in AM/PM mode.

How can I change it to 24h mode?


$ locale |grep LC_TIME
  • 1
    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
  • 1
    for me it is also happening the same; pc settings is 24 h clock but Thunderbird not. – bob Nov 9 '12 at 21:08
  • 1
    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.

  • 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
  • 1
    @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
  • 1
    I've filed a bug for that. – nh2 Dec 23 '17 at 2:27

There's a Super Date Format thunderbird addon:

enter image description here

enter image description here

  • 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 '16 at 1:52
  • 2
    This plugin is no longer supported and only compatible up to Thunderbird version 21 :( – Jeff Puckett Sep 19 '17 at 14:52

Thunderbird 60

The way dates and times are formatted in Thunderbird 60 has changed. The following will provide a date/time format that will look like this: 2018-12-04 14:23:

  1. Create the root locale

    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. Copy the Thunderbird launcher locally

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

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

Thunderbird 59 and below

Fsando's answer works, but LC_ALL will change the entire locale (date, number, currency format, etc) used by Thunderbird instead of just the date/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_DK.utf8 locale is available (it should already be available if your desktop language is English):

    locale -a | grep en_DK
  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_DK.utf8
  3. Copy the Thunderbird launcher locally

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

    sed -i.bak 's/^Exec=thunderbird %u/Exec=env LC_TIME=en_DK.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 date/time format.


  • Only overrides the date/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:

$ 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

Changing the locale to en_DK.utf8 will change the date format too:

$ python3 -c "import locale, time; locale.setlocale(locale.LC_TIME, 'en_DK.utf8'); print(time.strftime('%x %X'))"
2018-12-05 15:41:14
  • 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....

  • As discussed in comments under other answers, en_DK stopped working for newer Thunderbird versions, but env LC_TIME=sv_SE.UTF-8 thunderbird will work OK (unless using "long" date format). – Randall Whitman Jul 8 at 23:33

I just added LC_TIME=en_DK.UTF-8 to /etc/default/locale. Works fine on Linux Mint 17.3, should work in Ubuntu too.

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


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

3) Save and restart OS.

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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