日付計算
「○日後はいつ」「2つの日付の間は何日」を確実に。タイムゾーンと夏時間の影響を排するため、内部は UTC で統一しています。
日付計算で起きる典型的なバグ
- タイムゾーン — ローカル時刻で
86400000 除算をすると、夏時間の切り替え日で1日ズレます。UTC で揃えないと起きる
- 皆既日付 — 2月30日など存在しない日付を弾かないと、自動補正されて誤った結果になる
- 「○ヶ月後」 — 1月31日の1ヶ月後は 2月28日(or 29日)。加算規則を決めておかないと実装ごとに違う値になる
- 祝日 — 本ツールの営業日計算は土日しか除外していません。日本は祝日が多いので、実務では祝日表が必須です