西暦、月を指定すると、該当月の末日を算出し、返します。
■ サブルーチン名
GetLastDay
■ 引数
- 西暦(1970 〜 2023)
- 月(1 〜 12)
■ 戻値
- 指定月の末日の数字
■ 使い方
まず、このサブルーチンを使うスクリプトのはじめのほうに、
use Time::Local; を記述してください。お使いのサーバに、Perl モジュール Time がインストールされていないと、このサブルーチンはご利用いただけませんので、ご注意さい。Perl モジュール Time は、Perl5 の標準モジュールですので、ほとんどのサーバでご利用いただけるはずです。
西暦 2004 年 2 月の末日を算出したい場合には、
$lastday = &GetLastDay(2004, 2); すると、$lastday に 28 が与えられます。尚、指定できる年月は 1900 年 1 月から 2023 年 12 月までです。それ以外の年月を与えたり、不適切な文字を与えると、何も返りません。
■ サブルーチン
sub GetLastDay {
my($year, $mon) = @_;
if($year) {
if($year =~ /[^0-9]/) {return '';}
if($year < 1900 || $year > 2023) {return '';}
} else {
return '';
}
if($mon) {
if($mon =~ /[^0-9]/) {return '';}
if($mon < 1 || $mon > 12) {return '';}
} else {
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];
}
|