- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #4036 [671] От : Konstantin Tokar 2:5020/400 11 июля 04, 13:29 Кому : Sergey Orlov 14 июля 04, 22:51 Тема : Re: Глючок со временем ------------------------------------------------------------------------------- From: Konstantin TokarSergey Orlov wrote: > Hello All! > Использую ActiveState 5.8.3.805, и встретился со следующим багом > > use Time:Local; > > $sutki=24*60*60; > > А здесь цикл --- > > ($m_day,$m_month,$m_year)=(localtime($in1))[3,4,5]; > > $in1=timelocal(0,0,0,$m_day,$m_month,$m_year); > > $in1=$in1+$sutki; > > Так вот все отрабатывается нормально, пока не доходит до, в зависимости от > года , 27-30 ноября, после чего сутки не плюсуются. > Может кто-нибудь подскажет как это обойти или другой способ увеличения > даты на один день... > Sergey. Можно попробовать все расчёты делать в GMT, а потом переводить в localtime use Time::Local; print scalar(localtime(timegm(0,0,0,28,9,2004) + 60*60*24)), "\n"; print scalar(localtime(timegm(0,0,0,29,9,2004) + 60*60*24)), "\n"; print scalar(localtime(timegm(0,0,0,30,9,2004) + 60*60*24)), "\n"; --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400)