package UtilDate; # # 日付 # update 2005.07.02 # 1st ver 2005.02.13 # Copyright (C) 2005 Yasuhiro Oshima. All rights reserved. #曜日 my @wday_array = ('[日]','[月]','[火]','[水]','[木]','[金]','[土]'); #日付の取得 sub GetDate{ ($sec, $min, $hour, $mday, $month, $year, $wday) = localtime; $wday = $wday_array[$wday]; $month ++; $year = $year + 1900; my $ymm = sprintf("%02d/%02d/%02d", $year, $month, $mday); my $hms = sprintf("%02d:%02d:%02d", $hour, $min, $sec); return "$ymm $hms $wday"; } #曜日の取得 sub GetWday{ my $wday_num; my($year, $month, $day) = @_; if($month == 1 || $month == 2){ $year --; $month += 12; } $wday_num = int($year + int($year / 4) - int($year / 100) + int($year / 400) + int((13 * $month + 8) / 5) + $day) % 7; return $wday_array[$wday_num]; } #月末日計算 sub GetLastDay{ my($month, $year) = @_; my @last_day_array = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if($month < 1 || $month > 12){ $month = (localtime)[4] + 1; } if($year == 0){ $year = 1900 + (localtime)[5]; } if($month == 2 && GetLeapYear($year)){ return 29; }else{ return $last_day_array[$month - 1]; } } #閏年取得 sub GetLeapYear{ my $year = shift; return ((($year % 4 == 0) && ($year % 100 != 0) || ($year % 400 == 0)) ? 1 : ''); } 1;