≡ Menu

OpenBSD Set / Configure Time Zone

How do I configure or change the timezone under OpenBSD operating system?

All of the time zones OpenBSD supports are in the /usr/share/zoneinfo directory tree. You need to create a symlink to /etc/localtime file.

  1. /usr/share/zoneinfo - time zone information directory
  2. /etc/localtime - local time zone file
  3. /usr/share/zoneinfo/posixrules - used with POSIX-style TZ's (generally not required)
  4. /usr/share/zoneinfo/GMT - for UTC leap seconds

Here is my current timezone - set to Asia / Calcutta (GMT +5:30):
$ ls -l /etc/localtime
Sample output:

lrwxr-xr-x  1 root  wheel  33 Sep 19  2007 /etc/localtime -> /usr/share/zoneinfo/Asia/Calcutta

How do I change time zone?

You will see several subdirectories for various countries or continents, each containing either city names or local time zones.
# ls /usr/share/zoneinfo/
Sample output:

Africa     Atlantic   Canada     EST5EDT    Factory    GMT-0      Iceland    Japan      MST7MDT    Navajo     Portugal   UCT        WET        zone.tab
America    Australia  Chile      Egypt      GB         GMT0       Indian     Kwajalein  Mexico     PRC        ROC        US         Zulu
Antarctica Brazil     Cuba       Eire       GB-Eire    Greenwich  Iran       Libya      Mideast    PST8PDT    ROK        UTC        posix
Arctic     CET        EET        Etc        GMT        HST        Israel     MET        NZ         Pacific    Singapore  Universal  posixrules
Asia       CST6CDT    EST        Europe     GMT+0      Hongkong   Jamaica    MST        NZ-CHAT    Poland     Turkey     W-SU       right

Find the file for the time zone you like or for a city whose time zone you share. To set the time zone, just create a new symbolic link to the file from /etc/localtime.
# ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime
Verify new timezone with the date command:
$ date
Sample outputs:

Fri Sep  2 15:32:16 CDT 2016

zic command

You can also use the zic command. Y need to give the time zone as local time. zic will act as if the input contained a link line of the form:

Link timezone       posixrules

For example set timezone to America/New_York, enteR:
# zic -l America/New_York
# date

Sample outputs:

Fri Sep  2 16:34:20 EDT 2016
Share this tutorial on:
{ 3 comments… add one }
  • hackbsd November 17, 2008, 1:43 am

    Thanks for the info, it useful for me.It is very clean and easy to understand.

  • dan March 23, 2009, 9:45 pm

    this is absolutely wrong.
    man zic, and man localtime

  • The Doctor June 14, 2009, 9:23 am

    @ Dan:
    Really? Someone should contact this site to have this page updated then:

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , , ,