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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Nikolay Pichtin                      2:5056/30      18 Aug 2005  23:24:19
 To : Vladimir Marunin
 Subject : Re: вот хотел спросить у общественности
 -------------------------------------------------------------------------------- 
 
 
  >> 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";
 
  VM> Hепарвда твоя. Далеко не во всех сутках  86400 секунд. Дважды в год
  VM> это не верно (переход с зимнего на летнее время и наоборот), поэтому
  VM> если сейчас время около полуночи (от 23:00 до 01:00) то такая схема
  VM> может дать ошибку на сутки.
 
  VM> Или возьми нормальный модуль для работы с данными (лучше),
  VM> либо проверяй время на полночь, например так:
 
  VM> $time = time() + (86400 * $d) +(12 - (localtime())[2] )*3600;
  VM> datestamp = strtftime "%Y-%m-%d_%H:%M:%S", $time;
 
  VM> Тут идея в том, чтобы брать середину суток (я вычитаю текущие часы и
  VM> прибавляю 12).
 
 Так будет?
 
 use POSIX qw(strftime);
 use constant DAY => 3;
 
 $datestamp = strftime "%d-%m-%Y %H:%M:%S\n", Day_sub(DAY);
 
 sub Day_sub($) {
  return localtime( time - (86400 * shift) +(12 - (localtime())[2] )*3600);
 }
 
 * Хвастовство - признак неуверенности. Грубость - признак бессилия. Hадежда на
 пользу от их проявления - признак глупости.
 -- Hиколай
 ----------------------------------------------------------------------
 ---
  * Origin: Истина - это вовсе не то, что можно убедительно доказать (2:5056/30)
 
 

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

 Тема:    Автор:    Дата:  
 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/1813430518fc.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional