Custom Time Zone with a Daylight Savings Rule
JANOS has implemented a set of time zones that are available but in no means is this a complete list. There are many territories in the world that either do not observe the time zone that they geographically belong to or they have different rules. Some locations differ the time zone rules by 30 or even just 15 minutes. Sometimes governments alter their policies and change the rules that have been in place for years or decades.
This article will describe how to create a new time zone with a DST rule as described in the JANOS Registry Documentation under section 9.2.
The clock subsystem is generally configured using the DATE command. JANOS defines a set of time zones for use in displaying local time. These time zones may or may not utilize Daylight Savings Time (DST).
As there are 24 hours on our clock one might expect that there needs to be only 24 time zones. This however is not the case as some areas offset their clocks by just 30 minutes. In addition, some areas utilize DST while others do not. The following is the default set of time zones. This can be displayed at any time using the DATE -T
command.
This default list of time zones is likely incorrect for some areas across the globe. INTEG encourages users to let us know when a correction to the timezone tables might be appropriate. JANOS does provide a means by which you may define new time zones with or without DST rules. You may even correct an existing timezone. This is accomplished using one or more Time zones/<name> Registry entries.
Use of a website like timeanddate.com is very helpful for the validation and creation of time zones.
Here I will show you how to create a new Time Zone for Aukland New Zealand. Timeanddate.com gives us all the information we need in this screenshot.
We see that they are currently observing Daylight Savings Time and will be throughout the beginning of next year since New Zealand is in the Southern Hemisphere. So now we can follow the following format to build a registry key for the new time zone we will create.
reg Timezones/<name> = <offset>, <desc>, <AbbStd> [, <AbbDst>, <stMon>, <stDay>, <stDoW>, <stTime>, <endMon>, <endDay>, <endDoW>, <endTime>, <dstOfs>]
We will need to use the full format in order to get the daylight savings time rules implemented. To do this we can enter the following at the command line.
reg timezones/NewZealand = "+1200, New Zealand/Aukland, NZST, NZDT, SEP, 27, SUN, 200, APR, 5, SUN, 200, 60"
The registry tab could also have been used to create the key. That would look like this…
In either case we get the same result. We can now issue the date -t
command to see our newly created time zone.
A reboot is needed to complete the registration of our newly created time zone. After the reboot there is only one more thing to do. Tell the JNIOR to use it. For example, date NZST
.
There you go! The new time zone has been created and the JNIOR is now using it. As mentioned above, it is recommended to tell INTEG of missing or incorrect time zones so that we can put it in the JNIOR but creating a custom time zone will get your JNIOR to start using the new rules immediately.
As always, thanks for using the JNIOR!