|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artur Penttinen 2:5020/400 18 Oct 2000 18:28:51 To : Konstantin Maslennikov Subject : Re: Валидность даты? -------------------------------------------------------------------------------- Konstantin Maslennikov <kosmas@mail.wplus.net> wrote: KM> KM> Привет всем! Кто знает, как проверить валидность даты? KM> KM> Пока есть такой скрпт: KM> KM> ================================================================ KM> #!/usr/bin/perl KM> KM> use Time::Local; KM> KM> $dd = 31; KM> $mm = 1; KM> $yy = 1988; KM> KM> $date = "$dd-$mm-$yy"; KM> KM> ($dd1, $mm1, $yyyy1) = ($date =~ /(\d+)-(\d+)-(\d+)/); KM> KM> $sectime = timelocal(0,0,0, $dd1, $mm1, $yyyy1); KM> if ($sectime){ KM> print "$sectime\n";} KM> else { KM> print "AШИПКА!!!\n";} KM> KM> $time = localtime($sectime); KM> print "TIME - $time\n"; KM> ================================================================== KM> Т.е. я пытаюсь проверить на корректность 31 февраля 1988 года. KM> KM> Hикаких АШИПОК скрипт не дает. А в последней строке печатает 2 марта KM> 1988г. KM> KM> Как победить? KM> Можно, конечно, создать массив из "плохих" дат - (30-02,31-02,31-04 и KM> т.д.) и проверять, но как KM> быть с високосными/невисокосными годами? Тут устанешь массив массивить KM> ... Проверить исходную и полученную даты? WBW, Artur -- Пропал кот персидский кремовый. В районе фабрики меховых изделии. Если не поздно - верните за вознаграждение. --- ifmail v.2.15dev5 * Origin: Sonera Ltd. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6578c6a45e2c.html, оценка из 5, голосов 10
|