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");


トラックバック(0)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/179

コメントする

人気記事

このブログ記事について

ひとつ前の記事:「Perlで、テキストファイルの行数を数える(カウントする)には

次の記事:「Google検索結果はタイトルが何文字数以上だと省略される?

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近の人気記事