3.6 日付が何日目かを求める

エポック秒、または、年、月、日で表された日付が何曜日か、月の初めの日から何日目か、年の初めから何日目かを求めたい。

# 方法1
($MONTHDAY, $WEEKDAY, $YEARDAY) = (localtime $DATE)[3,6,7];
$WEEKNUM = int($YEARDAY / 7) + 1;

# 方法2
use Date::Calc qw(Day_of_Week Week_Number Day_of_Year);
# $year, $month, $dayには日付(年、月、日)を格納する
# 定義により、$dayの値が月の最初の日からの日数になる。
$wday = Day_of_Week($year, $month, $day);
$wnum = Week_Number($year, $month, $day);
$dnum = Day_of_Year($year, $month, $day);