вот хотел спросить у общественности

From
Max Kuznetsov (2:5020/845.101)
To
Vladimir Marunin
Date
2005-08-18T19:56:56Z
Area
RU.PERL
Привет Vladimir!

 >> 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> Непарвда твоя. Далеко не во всех сутках  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).

Идея!! =) как я сам-то не подумал =)) старею
Привык с датами работать прямо в MySQL, там и считать ни чего не надо.
Кстати, какие модули для работы с датами по проще и пошустрее (умеют не много но делают это хорошо)?

С уважением
Max
---
 * Origin: ЄєЄ хёЄхёЄтхээю фюыцхэ с Є  юЁшфцшэ... (2:5020/845.101)
SEEN-BY: 50/203 551 140/1 400/462 814 450/186 451/30 4635/4 5000/5000
SEEN-BY: 5001/5001 5010/53 5012/8 46 5015/10 5020/77 154 175 400 545 549 552
SEEN-BY: 5020/561 570 715 758 818 826 828 830 834 845 958 1031 1455 1523 1575
SEEN-BY: 5020/1588 1604 1817 1822 1960 1990 2015 2020 2044 2142 2174 2209 2238
SEEN-BY: 5020/2501 2590 3204 3360 4343 4441 7770 8086 9636 10192 12000 5021/3
SEEN-BY: 5021/29 5022/5 128 5025/3 750 5027/16 5030/49 115 436 556 966 1063
SEEN-BY: 5030/1339 1900 5031/47 70 5033/21 5040/47 5042/13 5043/0 5045/7
SEEN-BY: 5052/4 5054/1 8 9 35 36 37 45 66 67 81 85 5056/16 5059/9 5060/3
SEEN-BY: 5061/120 5062/1 10 5064/39 5066/18 5069/7 5070/1222 5076/1 5077/70 80
SEEN-BY: 5080/80 1003 5082/6 5083/21 5085/13 5090/108 113 5095/20 5096/18
SEEN-BY: 6000/12 6056/1
PATH: 5020/845 12000 715 4441 545 5054/1 37