"Charitha Dias" schreef:
> The format of date and time is something like YYYYMMDDhhmmssmm (for
> example 2001030400060400). Actually I need to get time difference.
> For example I want to get difference between 2001030400053200 and
> 2001030400060400.
What precision do you need?
#!/usr/bin/perl
# delta-time guesser
use strict ;
use warnings ;
sub delta_time
{
my $t ;
my $RE =
qr/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(?:(\d{2}))?/ ;
# ccyy mm dd HH MM SS CC
sub calc { ( ( ( ( ( $1*365.25 + $2*365.25/12 + $3
) * 24 + $4
) * 60 + $5
) * 60 + $6
) + ($7 or 0)/100
)
}
$_[0] =~ $RE and $t -= calc() and
$_[1] =~ $RE and $t += calc() and return $t ;
return
}
if ( my $t = delta_time '2001030400053240',
'20010304000604' ) {
printf "%.2f seconds\n", $t ;
} else {
print "ERROR\n" ;
}
--
Affijn, Ruud
"Gewoon is een tijger."