Besides setting up the global system timezone by symlinking /etc/localtime to a file in /usr/share/zoneinfo, you can also set a timezone that applies only for one user. This is done by setting the environment variable TZ.

You can set it in your startup file like this:

$ echo 'export TZ=Europe/Amsterdam' >> ~/.profile

From this shell all subsequent [date] calls will use the /usr/share/zoneinfo/Europe/Amsterdam file for translating the system's UTC time to your local time.

To run a single process with a specific timezone, try something like this:

$ env TZ=Canada/Eastern xclock -d -strftime "Toronto: %a, %d %b, %H:%M" &

This will start an environment with the TZ variable set to Canada/Eastern, and run a digital (-d) xclock with the time formatted as instructed by -strfime, including putting a note about which timezone it belongs to ("Toronto"). This process will detach from the terminal (because of the &), but leave the environment you ran it from with the same timezone it began with. With a setup like this, one can run an xclock (or many xclocks) displaying the localtime of various timezones around the world.

References

Add a comment