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