|
|
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
|