|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Pavel Ammosov 2:5020/52 18 Jun 2001 23:33:04 To : Artem Bednarchuk Subject : Re: работа со временем --------------------------------------------------------------------------------
AB>Есть ли стандартные функции позволяющие определить разницу между двумя
AB>переменными содержащими время, т.е
AB>$t1=13:15:47;
AB>$t2=18:15:35;
AB>как найти разницу в часах,минутах и секундах между $t2 и $t1 через
AB>стандартные функции?
Если ты уверен, что не будет перехода через сутки (то есть, не
получится так что, $t1 = 20:18:00, а $t2 = 00:10:00 следующего дня),
то можно перевести все в секунды, вычесть их друг из друга
и перевести назад в часы:минуты:секунды.
$t1 =~ /(\d{2}):(\d{2}):(\d{2})/;
my $t1s = $1*60*60 + $2*60 + $3;
$t2 =~ /(\d{2}):(\d{2}):(\d{2})/;
my $t2s = $1*60*60 + $2*60 + $3;
my $diff = $t2s - $t1s;
print int($diff/3600) . ":" . int(($diff % 3600)/60) . "." . int(($diff % 3600)
%
60);
Если же таких гарантий у тебя нет, то придется хранить все вместе с датой и
корежить их при помощи Date::Manip или Date::Calc.
--
Pavel Ammosov O \
apavel@aha.ru __ )
http://isabase.philol.msu.ru/~apavel/ )
wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka O /
--- FIDOGATE 4.4.0-snp10
* Origin: Zenon N.S.P. news server (2:5020/52.0)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/2610981f1e7ca.html, оценка из 5, голосов 10
|