The
LC_TOD category defines the rules used to define
the beginning, end, and duration of daylight savings time, and the
difference between local time and Greenwich Mean time. This is an
IBM extension.
Note: LC_TOD and LC_SYNTAX are not supported
for ASCII locales (a locale specification can not contain a definition
for these categories). However, for consistency with EBCDIC locales,
localedef generates default values for these categories in ASCII locale
objects (the values generated for the C locale but with ASCII code
points).
The following keywords are recognized:
- copy
- Specifies the name of an existing locale to be used as the source
for the definition of this category. If this keyword is specified,
no other keyword should be present in this category. If the locale
is not found, an error is reported and no locale output is created.
The copy keyword cannot specify a locale that also specifies
the copy keyword for the same category.
Note: If
you specify this keyword, no other keyword should be present in this
category.
- timezone_difference
- An integer specifying the time zone difference expressed in
minutes. If the local time zone is west of the Greenwich Meridian,
this value must be positive. If the local time zone is east of the
Greenwich Meridian, this value must be negative. An absolute value
greater than 1440 (the number of minutes in a day) for
this keyword indicates that z/OS® Language Environment® is to get the time zone difference
from the system.
- timezone_name
- A string specifying the time zone name such as "PST" (Pacific
Standard Time) specified within quotation marks. The default for this
field is a NULL string.
- daylight_name
- A string specifying the Daylight Saving Time zone name, such
as "PDT" (Pacific Daylight Time), if there is one available.
The string must be specified within quotation marks. If DST information
is not available, this is set to NULL, which is also the
default. This field must be filled in if DST information as provided
by the other fields is to be taken into account by the mktime() and localtime() functions.
These functions ignore DST if this field is NULL.
- start_month
- An integer specifying the month of the year when Daylight Saving
Time comes into effect. This value ranges from 1 through 12 inclusive,
with 1 corresponding to January and 12 corresponding to December.
If DST is not applicable to a locale, start_month is set
to 0, which is also the default.
- end_month
- An integer specifying the month of the year when Daylight Saving
Time ceases to be in effect. The specifications are similar to those
for start_month.
- start_week
- An integer specifying the week of the month when DST comes into
effect. Acceptable values range from -4 to +4.
A value of 4 means the fourth week of the month, while
a value of -4 means fourth week of the month, counting
from the end of the month. Sunday is considered to be the start of
the week. If DST is not applicable to a locale, start_week is
set to 0, which is also the default.
- end_week
- An integer specifying the week of the month when DST ceases
to be in effect. The specifications are similar to those for start_week.
Note: The start_week and end_week need not
be used. The start_day and end_day fields can
specify either the day of the week or the day of the month. If day
of month is specified, start_week and end_week become
redundant.
- start_day
- An integer specifying the day of the week or the day of the
month when DST comes into effect. The value depends on the value of start_week.
If start_week is not equal to 0, this is the
day of the week when DST comes into effect. It ranges from 0 through 6 inclusive,
with 0 corresponding to Sunday and 6 corresponding
to Saturday. If start_week equals 0, start_day is
the day of the month (for the current year) when DST comes into effect.
It ranges from 1 through to the last day of the month inclusive.
The last day of the month is 31 for January, March, May,
July, August, October, and December. It is 30 for April,
June, September, and November. For February, it is 28 on
non-leap years and 29 on leap years. If DST is not applicable
to a locale, start_day is set to 0, which is
also the default.
- end_day
- An integer specifying the day of the week or the day of the
month when DST ceases to be in effect. The specifications are similar
to those for start_day.
- start_time
- An integer specifying the number of seconds after 12:00 midnight,
local standard time, when DST comes into effect. For example, if DST
is to start at 2:00 am, start_time is assigned the value 7200;
for 12:00 am (midnight), start_time is 0; for
1:00 am, it is 3600.
- end_time
- An integer specifying the number of seconds after 12 midnight,
local standard time, when DST ceases to be in effect. The specifications
are similar to those for start_time.
- shift
- An integer specifying the DST time shift, expressed in seconds.
The default is 3600, for 1 hour.
- uctname
- A string specifying the name to be used for Coordinated Universal
Time. If this keyword is not specified, the uctname will
default to "UTC".
Figure 1 is an example of how to define the LC_TOD category.
Figure 1. Example
LC_TOD definitionescape_char /
comment-char %
%%%%%%%%%%%%%
LC_TOD
%%%%%%%%%%%%%
% the time zone difference is 8hrs; the name of the daylight saving
% time is PDT, and it starts on the first Sunday of April at 2&00AM
% and ends on the second Sunday of October at 2&00AM
timezone_difference +480
timezone_name "<P><S><T>"
daylight_name "<P><D><T>"
start_month 4
end_month 10
start_week 1
end_week 2
start_day 1
end_day 30
start_time 7200
end_time 3600
shift 3600
END LC_TOD