Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Currently Thunderbird displays time in AM/PM mode.

How can I change it to 24h mode?

UPDATE 1:

$ locale |grep LC_TIME
LC_TIME="en_US.UTF-8"
share|improve this question
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

4 Answers 4

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):

LC_ALL="en_DK.utf8"
export LC_ALL

Just want to add this:

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

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

#!/bin/sh
LC_ALL="en_DK.utf8"
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:

/usr/local/bin/thunderbird

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

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_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 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 time format.

Advantages:

  • 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.

Source:
http://kb.mozillazine.org/Date_display_format

share|improve this answer
LC_TIME=en_DK.utf8 thunderbird

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

share|improve this answer

Your Answer

 
discard

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.