46

I am writing a bash script which at some point needs to determine a user's timezone, so how exactly can I check the timezone in Terminal? I would like to be able to get output in terms of GMT and UTC. Though if I can get the output in terms of any others then a list of those and how to get them would be nice. I am running Ubuntu GNOME 15.10 with GNOME 3.18.

0

1 Answer 1

68

Use:

timedatectl status | grep "Time zone"

Without the grep you get a lot more of information.

As pointed out by @Christian Ulbrich in comment the wording for timezone seems to change depending on which version of timaedatectl or systemd you are using (on 14.04.5 it seems to be Timezone written in one word), so to make sure you get the proper output, you can run the above command without piping through grep to make sure you grep the right thing.

Here an example output of the above timedatectl status command on 18.04 without piping it through to grep:

enter image description here

7
  • 1
    small edit: you might want to just grep "zone", since Timezone is treated as one word sometimes
    – aliasav
    Aug 16, 2018 at 7:50
  • In which language this is written in one word in this case?
    – Videonauth
    Aug 16, 2018 at 9:28
  • 2
    on Ubuntu, timedatectl show timezone as one word
    – aliasav
    Aug 16, 2018 at 12:48
  • Then i must be on some special Ubuntu maybe, above you can see the output of timedatectl without the grep on Ubuntu 18.04, and it was the same on 16.04 which I had installed the time I wrote this answer. needless to say that it was the same on 16.10, 17.04 and 17.10 before I installed bionic. Even without the status parameter timedatectl returns me the same output.
    – Videonauth
    Aug 16, 2018 at 13:34
  • 3
    @Videonauth On Ubuntu 14.04.5 LTS it is indeed Timezone and thus grep "Time zone" does not work. Looks like it is depending on the version of Systemd used. Sep 30, 2018 at 18:31