File:  [NetBSD Developer Wiki] / wikisrc / tutorials / how_to_set_up_per-user_timezones.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Sun Feb 5 07:14:36 2012 UTC (5 years, 3 months ago) by schmonz
Branches: MAIN
CVS tags: HEAD

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

  * [environ(7)](

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb