version 1.9, 2006/01/13 21:36:33
|
version 1.12, 2006/05/26 15:37:14
|
Line 629 sub process_date {
|
Line 629 sub process_date {
|
if ($timestr !~ /:/) { |
if ($timestr !~ /:/) { |
$timestamp = ''; |
$timestamp = ''; |
} else { |
} else { |
my @entries = split/:/,$timestr; |
my @entries = split(/:/,$timestr); |
for (my $j=0; $j<@entries; $j++) { |
for (my $j=0; $j<@entries; $j++) { |
if ( length($entries[$j]) > 1 ) { |
if ( length($entries[$j]) > 1 ) { |
$entries[$j] =~ s/^0//; |
$entries[$j] =~ s/^0//; |
} |
} |
|
$entries[$j] =~ s/\D//g; |
|
if ($entries[$j] < 0) { |
|
$entries[$j] = 0; |
|
} |
} |
} |
if ($entries[1] > 0) { |
if ($entries[1] > 0) { |
$entries[1] = $entries[1] - 1; |
$entries[1] = $entries[1] - 1; |
} |
} |
|
if ($entries[5] > 60) { |
|
$entries[5] = 60; |
|
} |
|
if ($entries[4] > 59) { |
|
$entries[4] = 59; |
|
} |
|
if ($entries[3] > 23) { |
|
$entries[3] = 23; |
|
} |
|
if ($entries[2] > 31) { |
|
$entries[2] = 31; |
|
} |
|
if ($entries[1] > 11) { |
|
$entries[1] = 11; |
|
} |
|
if ($entries[2] == 31) { |
|
if (($entries[1] == 3) || ($entries[1] == 5) || |
|
($entries[1] == 8) || ($entries[1] == 10)) { |
|
$entries[2] = 30; |
|
} |
|
} |
|
if ($entries[1] == 1) { |
|
if ($entries[2] > 29) { |
|
$entries[2] = 29; |
|
} |
|
if ($entries[2] == 29) { |
|
if ($entries[0]%4 != 0) { |
|
$entries[2] == 28; |
|
} elsif ( $entries[0]%100 == 0 |
|
&& $entries[0]%400 != 0) { |
|
$entries[2] == 28; |
|
} |
|
} |
|
} |
$timestamp = timelocal($entries[5],$entries[4],$entries[3],$entries[2],$entries[1],$entries[0]); |
$timestamp = timelocal($entries[5],$entries[4],$entries[3],$entries[2],$entries[1],$entries[0]); |
} |
} |
return $timestamp; |
return $timestamp; |