sub DateNext { my ($y, $m, $d) = unpack('a4a2a2', $_[0]); my @daysinmonth = ("31","28","31","30","31","30","31","31","30","31","30","31"); my @daysinmonthly = ("31","29","31","30","31","30","31","31","30","31","30","31"); $d++; if (($y % 4) == 0) { if ($d > @daysinmonthly[$m - 1]) { $m++; if ($m > 12) { $m = 1; $y++; } ## End if $d = 1; } ## End if } ## End if else { if ($d > @daysinmonth[$m - 1]) { $m++; if ($m > 12) { $m = 1; $y++; } ## End if $d = 1; } ## End if } ## End else my $returndate = sprintf("%04d%02d%02d",$y,$m,$d); return $returndate; } ## End sub ### Brings date to the previous day sub DatePrevious { my ($y, $m, $d) = unpack('a4a2a2', $_[0]); my @daysinmonth = ("31","28","31","30","31","30","31","31","30","31","30","31"); my @daysinmonthly = ("31","29","31","30","31","30","31","31","30","31","30","31"); $d--; if (($y % 4) == 0) { if ($d < 1) { $m--; if ($m < 1) { $m = 12; $y--; } ## End if $d = @daysinmonthly[$m - 1]; } ## End if } ## End if else { if ($d < 1) { $m--; if ($m < 1) { $m = 12; $y--; } ## End if $d = @daysinmonth[$m - 1]; } ## End if } ## End else my $returndate = sprintf("%04d%02d%02d",$y,$m,$d); return $returndate; } ## End sub