How changes to U.S. daylight saving time affect z/VM
Updated: 09 March 2007
A provision of the U.S. Government's Energy Policy Act of 2005,
extends Daylight Saving Time (DST) by four weeks, beginning in 2007.
Starting in March 2007, daylight time in the United States will begin
on the second Sunday in March and end on the first Sunday in November.
This document highlights how these changes will affect z/VM.
Control Program (CP) changes
The TIMEZONE_BOUNDARY statement in the system configuration file
tells CP what time zone to choose at IPL so that it can determine
the local time. The system programmer will need to update the dates
that are specified on the TIMEZONE_BOUNDARY statements in the system
configuration file that their own system uses. For more information
about the TIMEZONE_BOUNDARY statement, see the z/VM: CP Planning
and Administration book.
IBM ships sample system configuration files with z/VM. The following
are the lines that will appear in the next version of those files.
--------------- Old sample SYSTEM CONFIG file
Timezone_boundary on 2007-04-01 at 02:00:00 to EDT
Timezone_boundary on 2007-10-28 at 02:00:00 to EST
Timezone_boundary on 2008-04-06 at 02:00:00 to EDT
Timezone_boundary on 2008-10-26 at 02:00:00 to EST
Timezone_boundary on 2009-04-05 at 02:00:00 to EDT
Timezone_boundary on 2009-10-25 at 02:00:00 to EST
=============== New sample SYSTEM CONFIG file
Timezone_boundary on 2007-03-11 at 02:00:00 to EDT
Timezone_boundary on 2007-11-04 at 02:00:00 to EST
Timezone_boundary on 2008-03-09 at 02:00:00 to EDT
Timezone_boundary on 2008-11-02 at 02:00:00 to EST
Timezone_boundary on 2009-03-08 at 02:00:00 to EDT
Timezone_boundary on 2009-11-01 at 02:00:00 to EST
Also, the system programmer can issue the CP SET TIMEZONE command to
change the time zone of the running system. Use this command with
caution because some applications may be adversely affected by changes
in time zones. For more information about the CP SET TIMEZONE command,
see the z/VM: CP Commands and Utilities Reference.
Language Environment (LE) changes
Language Environment APAR VM64117 / PTF UM31924 provides needed changes
to several C/C++ library functions.
The TZ and _TZ environment variables can be used for POSIX(ON) and
POSIX(OFF) applications, respectively, to provide time zone
information which may include rules for Daylight Saving Time.
The default rules for Daylight Saving Time are based on U.S. rules,
therefore the z/VM C/C++ Run-Time Library needs to be updated to
reflect the new rules.
The old rules were that Daylight Saving Time would begin on the first
Sunday in April at 02:00:00 (2 AM) and end on the last Sunday in
October at 02:00:00 (2 AM).
The new rules are that Daylight Saving Time begins on the second
Sunday in March at 02:00:00 (2 AM) and ends on the first Sunday in
November at 02:00:00 (2 AM).
Note: The defaults are used only when TZ or _TZ specifies a daylight
saving time zone name that differs from the standard time zone name
and the start and end dates are omitted.
In the absence of the TZ or _TZ environment variable, daylight saving
time rules may be picked up from the LC_TOD category of the current
locale. The LC_TOD category is an IBM extension and is not part of any
locale that is shipped by IBM, but it could have been added through
customization. Default rules are not applied to LC_TOD category
Daylight Saving Time rules affect the following C library functions:
If you do not use TZ, _TZ, or LC_TOD, you are not affected.
If you do not use TZ or _TZ, but you have customized locales where the
LC_TOD category was added, you must review the settings for the DST
rules defined in LC_TOD and make appropriate changes. For example, if
your LC_TOD specifies the old U.S. rules and you need to follow the
new U.S. rules, then the locale needs to be updated.
If you use TZ or _TZ, but do not specify a daylight saving time
zone name, you are not affected. Not having a daylight saving time
zone name indicates that daylight saving time is not observed.
If you use TZ or _TZ and specify a daylight saving time zone name, but
do not specify a DST rule, then you need to determine if the new
default rules will be appropriate. If not, then you must change TZ or
_TZ to specify the specific DST rule for your installation. Some
countries that currently follow the old U.S. rules may not be changing
to the new U.S. rules.
If you use TZ or _TZ, specify a daylight saving time zone name, and
you specify your own DST rule, you must review the setting and make
appropriate changes. For example, if your DST rule specifies the old
U.S. rules and you need to follow the new U.S. rules, then the TZ or
_TZ value needs to be updated.
If you do observe daylight saving time, but do not follow the U.S.
rules, then you may have no action since your environment would have
already been customized to specify your local DST rules.
Possible locations where TZ or _TZ may be defined include the Language
Environment Installation Default Run-time Options CSECTs (CEEDOPT and
CEEUOPT), /etc/rc, and /etc/profile for the z/VM
OpenExtensions shell environment.
In all cases where a change to TZ, _TZ, or LC_TOD is made,
applications must be restarted.
All applications that use TZ or _TZ that specifies a daylight saving
time zone name, but do not specify a DST rule, must be restarted after
installing this PTF in order for the new default rules to become
IBM recommends PTF UM31924 be installed and applications restarted
before March 11, 2007.
TCP/IP NFS server
Configuring the Time Zone Used by the NFS Server
The VM NFS server uses C time services to generate dates and times to
associate with files and directories created through NFS. These
services are sensitive to the timezone setting provided by the C
environment variable, TZ. You must configure the TZ variable with
the correct time zone for your NFS server. By setting the TZ
environment variable, you allow the time function to preserve both
date and time, correctly adjusting for daylight savings time on a
If you do not set the TZ variable, you may receive messages
DTCNFS1424I The Language Environment C runtime library is not
configured to discern Daylight Savings Time.
DTCNFS1425I File times reported by VMNFS will be inaccurate
for times when daylight savings was in effect.
The TZ environment variables can be set using the CMS GLOBALV
facility. The format of the TZ variable is described with the tzset()
function in the C for VM/ESA Library Reference. For example,
GLOBALV SELECT CENV SETLP _TZ EST5EDT
indicates that the local standard time is EST (Eastern Standard Time).
The next value, 5, indicates the local time zone is 5 hours west of
GMT. EDT (Eastern Daylight Time) is the abbreviation for the local
daylight savings time zone.
See the "C/C++ for z/VM V1R1 User's Guide" for more information about
setting environment variables with GLOBALV.
You may also need to configure the timezone setting of your NFS client