Ashotovich
Новичок
Проблема с датой
Всем привет.
У меня в форме стоит ActiveX-календарь, который передает дату в формате mm/dd/yyyy:
При сабмите форма передает сама себе все знаечения, в т. ч. и дату из ActiveX-календаря. Я эту дату обрабатываю при помощи вот такого вычисления, дабы получить $birth_year, $birth_month и $birth_day и подставить их в объект календаря (см. выше):
На большинстве клиентских машин это дело работает нормально, но вот у некоторых сбивается год - может и 2054 в итоге в базу записать. Ума не приложу - в чем может быть проблема, и как ее решить?
Да, сразу оговорюсь, что применение ActiveX-календаря очень выгодно в плане размера страницы, т.к. сам объект календаря занимает 300 байт в HTML и мне бы не хотелось без серьезной необходимости отказываться от такого решения. Еще стоит обозначить, что использование date() невозможно вследствие того, что даты могут быть и до 1970 года.
Всем привет.
У меня в форме стоит ActiveX-календарь, который передает дату в формате mm/dd/yyyy:
PHP:
<object classid="CLSID:8E27C92B-1264-101C-8A2F-040224009C02" name="birth_date" width="200" height="200">
<param name="Year" value="<? print $birth_year; ?>">
<param name="Month" value="<? print $birth_month; ?>">
<param name="Day" value="<? print $birth_day; ?>">
</object>
PHP:
$birth_date = $_POST['birth_date'];
$s1=strpos($birth_date, "/");
$s2=strrpos($birth_date, "/");
$birth_year=substr($birth_date, $s2+1, 4);
$birth_month=substr($birth_date, 0, $s1);
$birth_day=substr($birth_date, $s1+1, $s2-$s1-1);
Да, сразу оговорюсь, что применение ActiveX-календаря очень выгодно в плане размера страницы, т.к. сам объект календаря занимает 300 байт в HTML и мне бы не хотелось без серьезной необходимости отказываться от такого решения. Еще стоит обозначить, что использование date() невозможно вследствие того, что даты могут быть и до 1970 года.