求助(急)--perl转php日期类型 及@_具体含义?
# 计算指定日期自公元1年1月1日开始的天数
sub DateLocal {
my ($yy, $mm, $dd) = @_;
my @MonthDays = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
my $Days;
my $LeapYear = 0;
if ($yy % 4 == 0 && ($yy % 100 != 0 || $yy % 400 == 0)) { $LeapYear = 1; }
$Days = ($yy - 1) * 365 + int(($yy - 1) / 4) - int(($yy - 1) / 100) + int(($yy - 1) / 400);
for (my $i = 1; $i < $mm; $i++) {
$Days += $MonthDays[$i - 1];
if ($i == 2) { $Days += $LeapYear; }
}
$Days += $dd - 1;
return $Days;
}
# 计算从 $yy1/$mm1/$dd1 到 $yy2/$mm2/$dd2 的天数
# 如果前一个日期后于后一个日期,则得到负数
# 方法: 均从公元 1 年开始计算经过的天数,然后用两个天数相减
sub DateDiff {
my ($yy1, $mm1, $dd1, $yy2, $mm2, $dd2) = @_;
return &DateLocal($yy2, $mm2, $dd2) - &DateLocal($yy1, $mm1, $dd1);
}