西暦、月を指定すると、該当月の末日を算出し、返します。
サブルーチン名
GetLastDay
引数
- 西暦(1970 ~ 2023)
- 月(1 ~ 12)
戻値
- 指定月の末日の数字
使い方
まず、このサブルーチンを使うスクリプトのはじめのほうに、
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];
}
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];
}