G
Guest
вводит пользователь дату...
3и поля = 1е день, 2е месяц, 3е год...
проверяем их сначала все 3и на пустоту а затем проверяем:
год чтоб был ОТ 1900 ДО текущего + 5
месяц ОТ 1 ДО 12
и день... ОТ 1 ДО (в зависимости от введённого месяца и года, например 2 месяц, 2003 года - только 28 дней)
я попробывал заюзать функцию mktime
со свежими годами вроде прокатило... типа к примеру с 2004 годом 30 днём и 2 месяцем мктайм выдало 1 число и 3 месяц... месяца не совпали значит день типа не правильный...
вот... но на винде матерится меньше 1 1 1970... а на линуксе как то странно оно возвращает дату......
есть способ более получче ? чтоб диапазон года и на винде и на линухе был от 1900 ?
или самому писать вычислялку высокосного и дней месяцев типа 30 или 31 ?
может как нидь извращнуться с localtime () ?
3и поля = 1е день, 2е месяц, 3е год...
проверяем их сначала все 3и на пустоту а затем проверяем:
год чтоб был ОТ 1900 ДО текущего + 5
месяц ОТ 1 ДО 12
и день... ОТ 1 ДО (в зависимости от введённого месяца и года, например 2 месяц, 2003 года - только 28 дней)
я попробывал заюзать функцию mktime
Код:
function CDD ($d, $m, $y)
{
if ($m == date ('m', mktime (0, 0, 0, $m, $d, $y))) return 'day - ok'; else return 'day - wrong';
}
со свежими годами вроде прокатило... типа к примеру с 2004 годом 30 днём и 2 месяцем мктайм выдало 1 число и 3 месяц... месяца не совпали значит день типа не правильный...
вот... но на винде матерится меньше 1 1 1970... а на линуксе как то странно оно возвращает дату......
есть способ более получче ? чтоб диапазон года и на винде и на линухе был от 1900 ?
или самому писать вычислялку высокосного и дней месяцев типа 30 или 31 ?
может как нидь извращнуться с localtime () ?