Add Your City To Linux's List of Time Zones

Ever feel like you're Rodney Dangerfield? You live someplace and Linux shows you no respect, time-zone-wise that is. What I mean is that you live somewhere that's not one of the time-zones that comes predefined with Linux. If that sounds like you, then read on and get Linux to show you a little respect.

Let's say for instance that we want to add Seattle, WA (the birthplace of Linux Journal) to the list of time-zones that Linux knows about. First, look in the list of predefined time-zones for a city that's in the the same time-zone as the city you want to add, in this case Los Angeles. Then as root do the following:

$ cd /usr/share/zoneinfo
$ cp America/Los_Angeles America/Seattle

This will make the new "Seattle" time-zone use the same time-zone data as "Los Angeles" uses. Note: if /usr/share/zoneinfo doesn't exist try /usr/lib/zoneinfo.

Now edit the file /usr/share/zoneinfo/zone.tab and find the line for the time-zone that you copied, in this case "Los Angeles":

US   +340308-1181434   America/Los_Angeles   Pacific Time

Duplicate that line and change the old time-zone name to the new one:

US   +473622-1221955   America/Seattle       Pacific Time

The numbers are the latitude and longitude of the city in the form +/-DDMM+/-DDDMM or +/-DDMMSS+/-DDDMMSS (D=Degrees, M=Minutes, S=Seconds). You can find that information on the web, for example at infoplease.

Now, logout and log back in and you should see your new time-zone in the list of available time-zones. The screenshot below shows it added to the list of time-zones that are displayed when I hover the mouse over the KDE clock.

timezone.jpg

Mitch Frazier is an embedded systems programmer at Emerson Electric Co. Mitch has been a contributor to and a friend of Linux Journal since the early 2000s.

Load Disqus comments