Forum Webscript.Ru
Программирование => Perl => Тема начата: commander от 24 Ноября 2004, 11:35:31
-
Задача:
$time1="98:26"; # 98 - часов 26 - минут
$time2="25:58"; # 25 - часов 58 - минут
$time3=$time1-$time2;
Вообщем мне нужен модуль по расчету времени в вышеописанном формате... cpan.org я посёрфил... что-то там не нашел... может плохо искал... мож кто знает модуль для расчета времени?
P.S. Если нету сам напишу, и выложу мож пригодиться кому...
-
my $time1 = "98:26";
my $time2 = "25:58";
printf "%02d:%02d",sub{int($_[0]/3600),int($_[0]%3600)/60}
->(to_sec($time1)-to_sec($time2));
sub to_sec {
return $1*3600+$2*60 if $_[0] =~ /^(\\d+):(\\d\\d)$/;
return 0; # zdes\' mozhno napisat\' chto-to drugoe
}
-
vladsu
:) спасибо конечно, но это я и сам уже написал... :)
меня интересовал модуль для вычисления все возможных форматов времени... :)
-
Вообщем написал я :
http://comma.fatal.ru/products/Opertime.pm
кому нужно пользуйтесь. правда в модуле пока только один вышеописанный метод ...
будет время дополню методами операций с днями месяцами и годами... :)
Описалово как всегда в конце...
-
а чего ты формат времени проверяешь как \\w\\w:\\w\\w? А не \\d\\d:\\d\\d? Это из каких-то тайных соображений?
-
Green Kakadu
ну да... :)... подправил....
см. =head1 AUTHOR (line 88) ;)
-
а чем Date::Calc не устраивает?