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");
カテゴリ:
Perl