Date::Calcの計算ミス?
Date::Calcのレシピに掲載されていた「現在が第何週にあるかを計算するには」をチェックしたのですが、今日4/9に以下の計算をさせると$weekが「3」となり「第三週」になってしまいます。
use Date::Calc qw(:all);
($year,$month,$day,$hour,$min,$sec)=Today_and_Now();#現在日時
$dow = Day_of_Week($year,$month,$day);#現在の曜日
$week = int(($day+Day_of_Week($year,$month,1)-2)/7)+1;#現在は当月の第何週か
print "Content-type: text/html\n\n";
print "<html><head></head><body>";
print "today:$year,$month,$day\n";
print "week:$week\n";
print "</body></html>";
exit;
以下のように日時を数値で入れても同じですが、これは掲載されているレシピのミスなのでしょうか?
それとも、Date::Calcが月曜日を「1」として計算するから、第三週となってしまうのでしょうか?、これを修正するにはどのようにしたら良いのでしょうか?
$week = int((9+Day_of_Week(2007,4,1)-2)/7)+1;
Date::Calc:日本語訳
http://perldoc.jp/docs/modules/Date-Calc-5.3/Calc.pod
補足
悟られないで デートに誘って欲しいですね