Ruby の Date#cwday と Date#wday について
試したバージョン
Date クラスのメソッドには wday と cwday があって2つとも曜日を数値で返します。
実際に 2014 年 4 月 13 日 日曜日を試してみます。
[2] pry(main)> d = Date.new(2014, 4, 13) => #<Date: 2014-04-13 ((2456761j,0s,0n),+0s,2299161j)> [3] pry(main)> d.cwday => 7 [4] pry(main)> d.wday => 0
このように wday の場合は 日曜日が 0 を返して、 cwday の場合は 7 を返します。
マニュアルにはこう書いてあります。
Date#cwday 暦週の日 (曜日) を返します (1-7、月曜は1)。 Date#wday 曜日を返します (0-6、日曜日は零)。
月曜日を週の始まりとする場合は cwday を使用して、 日曜日を週の始まりとする場合は wday を使用すればいいのかな。
参考
暦週日付は、暦週と暦年中の序数による日付です。 暦週は、暦年中の序数によって指定される特定の7日の期間であり、月曜から 始まります。 その年の第1暦週は、最初の木曜日を含む週とします。これは、 1月4日を含む週と同じです。