Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Valery Kondakoff                     2:5020/163     02 Feb 2002  05:16:42
 To : All
 Subject : Сравнение дат?
 -------------------------------------------------------------------------------- 
 
 
 Господа, помогите советом: на входе в скрипт я получаю количество дней
 (например, десять). Потом, я просматриваю логи за указанное количество времени и
 всасываю нужную информацию.
 
 Пока я решаю эту проблему так: отсчитываю десять дней назад и перевожу дату в
 epoch seconds. Потом, каждую встреченную в логах дату тоже перевоху в epoch
 seconds и сравниваю: если дата из логов больше, то начинаю "сосать" данные.
 
 В логи дата пишется так: 25 Jan 02.
 
 use Time::Local;
 
 # this hash is used, when converting verbose months to numeral (Jan = 0)
 @months{qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)} =
         qw(0 1 2 3 4 5 6 7 8 9 10 11);
 
 $period = 10;
 $date = time() - (24 * 60 * 60 * $period) if $period;
 
 open(LOG, "<$logname") || die "Can't open $logname $!";
 
 while(<LOG>) {
     if (/-{20}\s+Packed\s+on\s+((\d+)\s(\w{3})\s\d\d(\d\d))\s/i) {
         if(!$startdate) {
             $founddate = timelocal("59", "59", "23", $2, $months{$3}, $4);
             $date = $founddate if !$date;
             if ($founddate >= $date) {
                 $startdate = $1
             }
         }
     if ($startdate) {
        # тут что-нибудь полезное делаем
     }
 }
 
 close(LOG) || die "can't close $logname: $!";
 
 В принципе все работает, но меня терзают смутные сомнения, что есть более
 эффективный способ решения проблемы сравнения дат...
 
 Поделитесь, плз, опытом!
 
 Спасибо!
 
 Best regards,
  Valery Kondakoff
 --- GoldED+/W32 1.1.5-1201
  * Origin:  ----> После прочтения - съесть!.. <----  (2:5020/163)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Сравнение дат?   Valery Kondakoff   02 Feb 2002 05:16:42 
 Re: Сравнение дат?   vitus@ice.ru   02 Feb 2002 12:44:15 
 Сравнение дат?   Valery Kondakoff   02 Feb 2002 18:36:48 
 Сравнение дат?   Valery Kondakoff   03 Feb 2002 00:15:24 
 Re: Сравнение дат?   vitus@ice.ru   04 Feb 2002 01:42:48 
 Сравнение дат?   Valery Kondakoff   05 Feb 2002 01:14:56 
 Re: Сравнение дат?   Vladimir Podgorny   05 Feb 2002 11:17:52 
 Сравнение дат?   Valery Kondakoff   05 Feb 2002 20:55:42 
 Re: Сравнение дат?   Artem Chuprina   05 Feb 2002 13:33:40 
 Сравнение дат?   Valery Kondakoff   05 Feb 2002 21:07:20 
 Re: Сравнение дат?   Igor Nikolaev   05 Feb 2002 07:09:41 
Архивное /ru.perl/22643c5b4225.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional