日本は現在サマータイムを採用していないが、1948年から1951年にかけて連合国軍占領下で一度導入された歴史がある。当時は「日照節約時間法」として実施されたものの、残業が増えるなどの不満が強く、わずか4年で廃止された。
戦後日本のサマータイム実験が短命に終わった理由
占領下で導入されたサマータイムは、農作業のリズムを乱し、労働時間が実質的に延びると受け止められ、国民の支持を得られなかった。この経験から、日本では現在に至るまでサマータイムを再導入する議論が繰り返し起こるものの、実現には至っていない。
UTCに対するオフセット
各タイムゾーンはUTCに対するオフセットで定義される。日本時間(JST)はUTC+9で、年間を通じて一切変化しない。このオフセットは常に整数時間とは限らず、インドはUTC+5:30、ネパールはUTC+5:45を使用している。
実際にタイムゾーン変換が難しい理由
夏時間のルールは各国政府によって予測不可能に変更され、年によって異なることがある。そのため、信頼できる時間変換には、固定された時間オフセットではなく、常に更新されるタイムゾーンデータベース(IANA Time Zone Databaseなど)が必要になる。
なぜこれが必要か
- 東京・シリコンバレー・ヨーロッパ拠点の会議時間を正しく表示する。
- サーバーログのタイムスタンプをユーザーのローカル時間に変換する。
- 海外拠点とのやり取りでサマータイムの有無による時差の誤算を避ける。
すべてのオフセットが整数時間とは限らない
ほとんどのタイムゾーンはUTCに対して整数時間のオフセットを持つが、例外もある:インドはUTC+5:30、ネパールはUTC+5:45、オーストラリアの一部地域はUTC+9:30またはUTC+10:30を使用している。オフセットが常に60分の倍数であると想定するコードは避けるべきである——だからこそ、信頼できるライブラリは任意の数値オフセットではなくIANAタイムゾーン名を扱う。