Forum Webscript.Ru

Программирование => Perl => Тема начата: commander от 24 Ноября 2004, 11:35:31

Название: Time... Самому лень метод писать... :)
Отправлено: commander от 24 Ноября 2004, 11:35:31
Задача:
$time1="98:26"; # 98 - часов 26 - минут
$time2="25:58"; # 25 - часов 58 - минут

$time3=$time1-$time2;
 
Вообщем мне нужен модуль по расчету времени в вышеописанном формате... cpan.org я посёрфил... что-то там не нашел... может плохо искал... мож кто знает модуль для расчета времени?

P.S. Если нету сам напишу, и выложу мож пригодиться кому...
Название: Time... Самому лень метод писать... :)
Отправлено: vladsu от 24 Ноября 2004, 13:02:27

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
}
Название: Time... Самому лень метод писать... :)
Отправлено: commander от 24 Ноября 2004, 13:18:24
vladsu
:) спасибо конечно, но это я и сам уже написал... :)
меня интересовал модуль для вычисления все возможных форматов времени... :)
Название: Time... Самому лень метод писать... :)
Отправлено: commander от 24 Ноября 2004, 14:02:03
Вообщем написал я :
http://comma.fatal.ru/products/Opertime.pm
кому нужно пользуйтесь. правда в модуле пока только один вышеописанный метод ...
будет время дополню методами операций с днями месяцами и годами... :)
Описалово как всегда в конце...
Название: Time... Самому лень метод писать... :)
Отправлено: Green Kakadu от 24 Ноября 2004, 14:20:56
а чего ты формат времени проверяешь как \\w\\w:\\w\\w? А не \\d\\d:\\d\\d? Это из каких-то тайных соображений?
Название: Time... Самому лень метод писать... :)
Отправлено: commander от 24 Ноября 2004, 14:24:58
Green Kakadu
ну да... :)... подправил....  
см. =head1 AUTHOR (line 88) ;)
Название: Time... Самому лень метод писать... :)
Отправлено: glebushka от 24 Ноября 2004, 18:17:27
а чем Date::Calc не устраивает?