年の第一週は、「1 月 4 日を含む週」なんださうな。
これを決めているのが国際規格 ISO8601。日付と時刻の表記に関する国際規格で、正式名称は Data elements and interchange formats。「週」を決めているのは、この規格の一部にすぎない。Wikipedia に解説があったので、引用しませう。
年と週と曜日: YYYY-Www-D と表記する。ww は年内の暦週の番号で、年の第1週は 01、最終週は 52 または 53 となる。第1週は事実上1月4日を含む週に等しい。D は曜日を表し、月曜日が 1、日曜日は 7 である。
ISO 8601 - Wikipedia より引用
きっかけ
先日から、Google Calendar が週数を表示するやうになった。
ところが、2009-01-01 は 2008 年の第 1 週と表示されるのに、2010-01-01 は 2009 年の第 53 週と表示されてしまう。これはどういふことか?
悩んでいたら、sasuket 氏がコメントをくれた。ISO8601 なんじゃないか? と。
調べてみると、2009-01-04 は日曜日。ISO8601 では、曜日は月曜から始まるとされているから、2009 年は 1/1 から 1/4 までが第一週。1/5 以降が第二週になる。一方、2010-01-04 は月曜日。したがって、2010 年は 2010-01-04 を含む週を第一週とする。1/1〜1/3 は第 0 週になるのかな?
少し分からないことはあるけれど、Google Calendar がやろうとしていることは分かった。sasuket さん、ありがとう。
(注): 2009-01-01 を 2008 年の第 1 週にするのは、やっぱり Google Calendar のバグだよね?
No comments:
Post a Comment