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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Mykola Dzham                         2:5020/400     19 Aug 2005  01:15:27
 To : Vladimir Marunin
 Subject : Re: вот хотел спросить у общественности
 -------------------------------------------------------------------------------- 
 
  Vladimir Marunin wrote:
 
 > 
 > "Max Kuznetsov" <Max.Kuznetsov@p101.f845.n5020.z2.fidonet.org> сообщил в 
 > новостях
 > 
 > > A> дату изменить текущую на определенное количество дней
 > > A> я вот так в лобсделал но сие не красиво
 > > A> и потом формат не совпадает для однозначных дат получается
 > > A> 2005-08-1
 > > A> а надо бы 2005-08-01
 > >
 > > A> $datestamp = strftime "%Y-%m-%d_%H:%M:%S", localtime;
 > > A> print $datestamp, "\n";
 > >
 > > A> my $date_tek_y_m = strftime "%Y.%m.", localtime;
 > > A> my $date_tek_d = strftime "%d", localtime;
 > > A> my $d=1;
 > > A> $date_tek = $date_tek_y_m.($date_tek_d-$d);
 > >
 > > A> print $date_tek, "\n" ;
 > >
 > > Если тебе надо просто получеть строку с исомой датой, то просто localtime
 > > прибавляешь или отнимаешь колшичествао дней * 86400 и выводишь в нужном 
 > > формате
 > >
 > > $time = localtime + (86400 * $d);
 > > $datestamp = strtftime "%Y-%m-%d_%H:%M:%S", $time;
 > > print $datestamp, "\n";
 > 
 > Hепарвда твоя. Далеко не во всех сутках  86400 секунд. Дважды в год это не 
 > верно (переход с зимнего на летнее время и наоборот), поэтому если сейчас 
 > время около полуночи (от 23:00 до 01:00) то такая схема может дать ошибку на 
 > сутки.
 
 Поэтому надо все расчеты делать в unixtime: там таки во всех сутках
 60*60*24 секунда.
 
 > Или возьми нормальный модуль для работы с данными (лучше),
 > либо проверяй время на полночь, например так:
 > 
 > $time = time() + (86400 * $d) +(12 - (localtime())[2] )*3600;
 > datestamp = strtftime "%Y-%m-%d_%H:%M:%S", $time;
 > 
 > Тут идея в том, чтобы брать середину суток (я вычитаю текущие часы и 
 > прибавляю 12).
 
 По моему тут не идея а неясность задачи. В частности если заявляется
 что нужно получить дату "через столько то суток" то зачем вообще
 обращать внимание на время?
 
 -- 
 LEFT-(UANIC|RIPE)
 JID: levsha@jabber.kiev.ua
 --- ifmail v.2.15dev5.3
  * Origin: National Taras Shevchenko University of Kyiv (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: вот хотел спросить у общественности   Vladimir Marunin   18 Aug 2005 16:35:19 
 вот хотел спросить у общественности   Max Kuznetsov   18 Aug 2005 19:56:56 
 Re: вот хотел спросить у общественности   Mykola Dzham   19 Aug 2005 01:15:27 
 Re: вот хотел спросить у общественности   Artem Chuprina   19 Aug 2005 12:29:21 
 Re: вот хотел спросить у общественности   Nikolay Pichtin   18 Aug 2005 23:24:19 
Архивное /ru.perl/1049003d99024.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional