LC_TOD カテゴリー
ILE COBOL では、LC_TOD ロケール・カテゴリーは、ロケールに基づく時刻項目の時間帯を指示します。
特に、tzdiff キーワードは、現地時間とグリニッジ標準時間の差を指定します。
この情報は、ロケールに基づく時刻項目を他の時刻 (ロケールまたは非ロケールに基づくもの) に移動したり、比較したりする時に使用されます。
ILE COBOL が現在使用する tzdiff キーワードは、LC_TOD キーワードだけです。
LC_TOD カテゴリーは、夏時間の開始および終了時刻、現地時間とグリニッジ標準時間の差、
時間帯の名前、および夏時間の名前を定義するために使用する規則を定義します。
このカテゴリーは、IBM 拡張であり、ソース・ファイル内の他のすべてのカテゴリー定義より後ろに表示する必要があります。
LC_TOD カテゴリーのオペランドはすべて、ストリング値または整数値として定義されます。
ストリング値は、二重引用符 ("") で結合されます。
値はすべて、1 つまたは複数のスペースで、それらが定義するキーワードと区切られます。
2 つの二重引用符が隣接している場合は、未定義ストリング値であることを示します。
0 (ゼロ) は未定義整数値であることを示します。
LC_TOD カテゴリーでは、以下に示すキーワードが認識されます。
- tzdiff
- 時間帯の差を分単位で表す整数値を指定します。
これは、現地時間とグリニッジ標準時間の差です。
- tname
- 時間帯の名前に使用されるストリングを指定します。
- dstname
- 夏時間の名前に使用されるストリングを指定します。
- dststart
- 夏時間の開始日を表す 4 つの整数のセットを指定します。
dststart キーワードのオペランドは、以下の形式のように 4 つのコンマで区切られた一連の整数で構成されます。
month,week,day,time
dststart 形式の変数は、以下のように定義されます。
- month
- 夏時間 (DST) の開始月を表す、整数値を指定します。
この値は 1 から 12 までの範囲で、1 は 1 月に相当し、12 は 12 月に相当します。
- week
- DST の開始月の週を表す整数値を指定します。
この値は、-4 から 4 までの範囲で、-4 は月末から数えた 4 番目の週に相当し、4 は月の初めから数えた 4 番目の週に相当します。
- day
- DST の開始月の日にちを表す整数値を指定します。
また、week キーワードが 0 (ゼロ) でない場合、これは、DST が有効になった曜日になります。
この値は、1 からその月の最後の日、または 1 からその週の最後の曜日の範囲です。
- time
- DST が有効になった時、ローカル標準時刻の真夜中の 12 時以後の秒数を表す整数値を指定します。
この値は 0 から 86399 までの範囲です。
- dstend
- 夏時間の終了日を表す 4 つの整数のセットを指定します。
dstend キーワードのオペランドは、以下の形式のように 4 つのコンマで区切られた一連の整数で構成されます。
month,week,day,time
dstend 形式の変数は、以下のように定義されます。
- month
- 夏時間 (DST) 終了月を表す、整数値を指定します。
この値は 1 から 12 までの範囲で、1 は 1 月に相当し、12 は 12 月に相当します。
- week
- DST が終了した月の週を表す整数値を指定します。
この値は、-4 から 4 までの範囲で、-4 は月末から数えた 4 番目の週に相当し、4 は月の初めから数えた 4 番目の週に相当します。
- day
- DST が終了した月の日にちを表す整数値を指定します。
また、week キーワードが 0 (ゼロ) でない場合、これは、DST が終了した週の日にちになります。
この値は、1 からその月の最後の日、または 1 からその週の最後の曜日の範囲です。
- time
- DST が有効になった時、ローカル標準時刻の真夜中の 12 時以後の秒数を表す整数値を指定します。
この値は 0 から 86399 までの範囲です。
- dstshift
- 夏時間のシフトを秒数で表す整数値を指定します。
LC_TOD の例
以下に、ロケール定義ソース・ファイルにリストされている LC_TOD カテゴリーの例を示します。
LC_TOD
#
tzdiff 360
tname "<C><e><n><t><r><a><l>"
dstname "<P><D><T>"
#Set daylight savings time to start on 3rd week of October at
#midnight on Saturday.
dststart 10,3,6,0
#Set daylight savings time to end on April 23, at midnight.
dstend 4,0,23,0
dstshift 3600
#
END LC_TOD
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.