Perlで、年月日(日付)から曜日を割り出すには

sub get_week{
  my($y,$m,$d);
  if(@_ == 3){
    ($y,$m,$d) = @_;
  }elsif(@_ == 1){
    ($y,$m,$d) = split /-/, $_[0];
  }
  my @wdays = qw(日 月 火 水 木 金 土);
  if ($m < 3) {$y--; $m+=12;}
  my $w=($y+int($y/4)-int($y/100)+int($y/400)+int((13*$m+8)/5)+$d)%7;
  return $wdays[$w];
}
使い方
 my $week = get_week(2008,3,21);  # "金"
 または、
 my $week = get_week("2008-3-21");
 my $week = get_week("2008-03-21");
カテゴリ: