00時00分00秒 [コンピュータ]
1年は365日か366日です。1週間は7日です。365も366も7では割り切れません。そのため、ある特定の日の曜日は毎年必ず異なります。
例えば、2008年1月19日は土曜日ですが、2007年や2009年の1月19日は土曜日にはなりません。(金曜日と月曜日)
365を7で割ると1余るので、1年が常に365日であれば、特定の日の曜日は毎年1つずつずれることになります。今年の1月1日が日曜日なら、来年の1月1日は月曜日で、再来年は火曜日……のように。1年が366日になる閏年を挟むと、さらに1つ多くずれます。
今年(2008年)は閏年なので、今年の1月19日は土曜日ですが、来年の1月19日は日曜日ではなく月曜日になります。
ただし、ずれる箇所(余分に増える日)は年末ではなく2月29日なので、1月1日~2月28日までの曜日は2つずれますが、3月1日~12月31日の曜日は1つしかずれません。
例:
さて、『1週間が7日ではなく5日のような、365日をちょうど割り切ることができる日数だったら、(閏年が来るまでの4年間は)特定の日の曜日は同じになって分かりやすかったんじゃないか?』という話を読んでふと思ったんですが。
ある特定の日の曜日が、今年と来年では確実に異なるというのは、曜日がチェックキャラクタ(検査文字)のような目的でも活用できて便利なんじゃないかと思います。
例えば、「1月19日(水)」という記述があれば、西暦の記述が無くても、今年の日付ではないことが分かります。
今年の1月19日は土曜日ですから。
1月19日が水曜日なのは直近では、2005年か2011年です。
2008年1月20日は日曜日です。
なので、「2008年1月20日(月曜日)に集合」というような記述があったとすると、そんな日付は存在しないので、何かが間違っているだろうことが分かります。チェックキャラクタ(検査文字)の役割を曜日が果たしています。
この場合は、たぶん「2008年1月20日(日曜日)」か、「2008年1月21日(月曜日)」のどちらかと間違ってるんじゃないかと予想できます。(まあ、場合によっては月や年が間違ってる可能性もありますが。)
日付と曜日が常に同じだと、このようなチェックキャラクタ的効果はありません。
日付と曜日が前後数年間で異なるから、日付の記述ミスの検出に役立ちます。
というわけで、日付と曜日は毎年異なるからこそ便利なんじゃないか、とふと思ったのでした。
この日記へのコメントはお気軽に! コメント数:0件
コメント数: 0件