月末日を算出する

西暦、月を指定すると、該当月の末日を算出し、返します。

サブルーチン名

GetLastDay()

引数

  1. 西暦(1970 ~ 2023)
  2. 月(1 ~ 12)

戻値

  1. 指定月の末日の数字

使い方

まず、このサブルーチンを使うスクリプトのはじめのほうに、

use Time::Local;

を記述してください。お使いのサーバに、Perl モジュール Time::Local がインストールされていないと、このサブルーチンはご利用いただけませんのでご注意さい。Perlモジュール Time::Local は、Perl5 の標準モジュールですので、ほとんどのサーバでご利用いただけるはずです。

西暦2012年2月の末日を算出したい場合には、

my $lastday = &GetLastDay(2012, 2);

すると、$lastday に 29 が与えられます。尚、指定できる年月は 1900年1月から2023年12月までです。それ以外の年月を与えたり、不適切な文字を与えると、何も返りません。

サブルーチン

sub GetLastDay {
     my($year, $mon) = @_;
     if(!$year || !$mon) {return;}
     if($year < 1900 || $year > 2023) {return;}
     if($mon < 1 || $mon > 12) {return;}
     if($mon == 12) {$mon = 0;}
     my $time = timelocal(0, 0, 0, 1, $mon, $year-1900);
     $time -= 60*60*24;
     my @date = localtime($time);
     return $date[3];
 }