TZ_DST構造体は、TZwithDST構成要素の配列です。これらの各構成要素では、タイムゾーン文字列とそれに関連するルールを記述します。TZwithDST構造体の定義は、次のとおりです。
typedef struct TZwithDST { CHARACTER_LATIN tzstring[TZSTRINGSIZE]; INTEGER number_of_rules; DSTRules TZRules[TZRulesEntries]; SMALLINT Standardtzdispl_hour; SMALLINT Standardtzdispl_minute; } TZwithDST;
- tzstring
- タイムゾーン文字列の名前。例えば、"America Pacific"。
- number_of_rules
- このタイムゾーン文字列に関連するルールの数。
- TZRules
- ルールを記述する各DSTRules構成要素の配列です。これらのルールは、タイムゾーン文字列のタイムゾーン変位を計算するために使用されます。
- Standardtzdispl_hour
- 標準タイムゾーン変位の時間です。
- Standardtzdispl_minute
- 標準タイムゾーン変位の分です。
- startDST
- 夏時間(DST)を開始する日付と時間を指定します。以下の表のフィールドを指定できます。フィールドが該当しない場合は、0を入力します。
- endDST
- 夏時間を終了する日付と時間を指定します。以下の表のフィールドを指定できます。フィールドが該当しない場合は、0を入力します。
- validyrs
- DSTの開始日と終了日を適用する年を指定します。この年範囲に関連する情報には、以下の項目があります。
- start_year - このDSTルールを開始する年。
- end_year - このDSTルールを終了する年。
- Standardtzdispl_hour - 標準タイムゾーン変位の時間。
- Standardtzdispl_minute - 標準タイムゾーン変位の分。
- DSTtzdispl_hour - 夏時間用のタイムゾーン変位の時間。
- DSTtzdispl_minute - 夏時間用のタイムゾーン変位の分。
startDSTとendDSTには、以下の項目を設定できます。該当しないフィールドには、0を入力してください。
フィールド | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
rule_type | DSTの開始日と終了日の指定方法を示します。有効な値は次のとおりです。
例えば、タイムゾーン文字列'America Pacific'の場合、開始日のルールは3月8日の後の最初の日曜日です(2010年の3月14日)。 |
||||||||||||
month | DSTを開始または終了する月。有効な値は0~12です。このフィールドは、rule_type 1、2、3および4で使用します。 例えば、タイムゾーン文字列'America Pacific'の場合、開始日のルールは3月8日の後の最初の日曜日なので、startDST構造体のこのフィールドの値は、3月を表現する3になります。 |
||||||||||||
day_of_month | rule_typeが1の場合、このフィールドにはDSTを開始または終了する月の日付を指定します。例えば、DSTが、ローカル タイムで8月21日の午前12:00に終了する場合、endDST構造体のこのフィールドには値21が格納されます。 rule_typeが4の場合、このフィールドで指定した日付の次の週日または直後の日に、DSTを開始または終了します。例えば、タイムゾーン文字列'America Pacific'の場合、開始日のルールは3月8日の後の最初の日曜日なので、startDST構造体のこのフィールドには値8が格納されます。 rule_typeが0、2または3の場合、このフィールドは使用されず、値は0になります。 |
||||||||||||
day_of_week | 有効な値は0~7です。それぞれで日曜日から土曜日を表わします。このフィールドは、rule_type 2、3および4で使用します。 例えば、タイムゾーン文字列'America Pacific'の場合、開始日のルールは3月8日の後の最初の日曜日なので、startDST構造体のこのフィールドの値は、日曜日を表現する0になります。 |
||||||||||||
week_of_month | 有効な値は、1、2、3、4、5、-1および-2です。それぞれ、最初の週日、2番目の週日、3番目の週日、4番目の週日、5番目の週日、最後の週日、および最後から2つ前の週日を表現しています。このフィールドは、rule_type 2および3で使用します。 例えば、タイムゾーン文字列'Europe Azores'の場合、開始日のルールは、3月の最終日曜日になるので、startDST構造体のこのフィールドの値は、月の最後の週を表現する-1になります。 |
||||||||||||
loctime | DSTを開始または終了するローカル タイムです。 例えば、"02:00:00"は、ローカル タイムの午前2:00にDSTを開始または終了すること示します。 |