閏年問題

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』

閏年問題(うるうどしもんだい、英語: leap year problem)または閏年バグ英語: leap year bug)とは、閏年がどの年であるかについての計算の誤りから生じる問題である。特にコンピュータ関連のバグとして発生するが、デジタル化されていない文書においても発生しうる問題である。

実例[編集]

閏年問題の実例として、以下のようなものがある。

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

関連項目[編集]

  • 日時の表現法に起因するバグ英語版

脚注[編集]

  1. ^ Bill Laing (2012年3月9日). “Summary of Windows Azure Service Disruption on Feb 29th, 2012”. マイクロソフト. 2019年4月24日閲覧。
  2. ^ Dan Goodin (2012年3月1日). “Yes, Microsoft Azure Was Downed By Leap-Year Bug”. WIRED. 2019年4月24日閲覧。
  3. ^ PlayStation®3をご利用のお客様へ - ソニー・コンピュータエンタテインメント 2010年3月2日
  4. ^ ソニーが旧型PS3で発生していた時刻のバグを修正、原因は「うるう年」 GIGAZINE 2010年3月2日
  5. ^ Home - Microsoft Answers”. Forums.zune.net. 2009年8月30日時点のオリジナルよりアーカイブ。2011年7月27日閲覧。
  6. ^ John Herrman (2008年12月31日). “30GB Zunes Failing Everywhere, All At Once”. Gizmodo.com. 2011年7月27日閲覧。
  7. ^ Geere, Duncan. “BREAKING: Zunes worldwide hit by mystery crash : Tech Digest”. Techdigest.tv. 2011年7月27日閲覧。
  8. ^ Zune 30 FAQ”. マイクロソフト (2008年12月31日). 2009年1月1日閲覧。
  9. ^ Zadegan, Bryant (2009年1月3日). “A lesson on infinite loops”. AeroXperience. 2009年1月5日閲覧。
  10. ^ Excel 2000 incorrectly assumes that the year 1900 is a leap year. Retrieved 2013-09-22.
  11. ^ Standard ECMA-376 / Open Office XML File Formats. Retrieved 2016-09-10.
  12. ^ ISO/IEC 29500 / Open Office XML File Formats. Retrieved 2016-09-10.