トップQs
タイムライン
チャット
視点
閏年問題
ウィキペディアから
Remove ads
閏年問題(うるうどしもんだい、英語: leap year problem)または閏年バグ(英語: leap year bug)とは、閏年がどの年であるかについての計算の誤りから生じる問題である。特にコンピュータ関連のバグとして発生するが、デジタル化されていない文書においても発生しうる問題である。
実例
閏年問題の実例として、以下のようなものがある。
- Microsoft Excelは、初期のバージョンから1900年を平年ではなく閏年として扱っている。そのため、1900年2月28日と3月1日の間に2月29日が存在する。このバグはLotus 1-2-3に由来するもので、後方互換性のためにExcelに故意に実装されたものである。マイクロソフトはこのバグについての記事を書き、1900年を閏年として扱う理由を説明した[1](Microsoft Excel#1900年閏日問題も参照)。このバグは、EcmaのOffice Open XML(OOXML)の仕様の要件にも組み込まれている[2][3]。
- 2008年12月31日、マイクロソフトのポータブルメディアプレーヤーZune 30の第1世代の多く[4]がフリーズした[5][6]。マイクロソフトは、この問題はフリースケールが作成した内部クロックドライバと、デバイスが閏年を処理する方法によって引き起こされたと説明した。これは24時間後に自動的に修復されたが、デバイスのバッテリーを消耗させてから2009年1月1日正午(UTC)以降に再充電することでも修正できた[7][8]。
- 2010年3月1日、ソニーのゲーム機PlayStation 3は誤って2010年を閏年として扱っていたため、PlayStation Networkで世界規模の障害が発生した(PlayStation_3#問題点を参照)[9][10]。
- 2012年2月28日、Microsoft Azureが閏年バグによりサービスを一時停止した[11]。太平洋標準時(PST)の午後5時45分にWindows Azureの開発チームがこの問題に気づき、閏年の計算が原因であることを突き止めた[12]。
Remove ads
関連項目
- 日時の表現法に起因するバグ
脚注
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads