15.9.1.8 夏時間調整(DST / Daylight Saving Time Adjustment)
ECMAScriptの実装は、夏時間アルゴリズムを決めることが期待されます。
夏時間調整 DaylightSavingTA(t) を決める為のアルゴリズムは、ミリ秒で計測され、以下4つの事柄によらなければいけません。
- (1) 年の始まりからの時間
- t - TimeFromYear(YearFromTime(t))
- (2) t が、うるう年内か否か
- InLeapYear(t)
- (3) 年の始まりの曜日
- WeekDay(TimeFromYear(YearFromTime(t)))
- (4) 地理的な場所
- ECMAScriptの実装は、夏時間を対象とした正確な時間かどうか、現在の夏時間アルゴリズムが、その時点で使用されている場合、正確に夏時間の影響が及ぶ範囲内にあるかどうかを決めることを試行するべきではありません。
このことは、そのロケールが一年を通して観測した夏時間についてその年を考慮するといったような厄介な問題を回避します。
ホスト環境が夏時間を決める機能を提供する場合、ECMAScriptの実装は、夏時間情報を提供するホスト環境における(その年において同じように閏年でなく、同じ曜日で始まる)等しい年を件の年にマップすることは自由です。
唯一の制限は、全ての等しい年は、同じ結果を生成すべきであるということです。