Проверка даты, которая введена пользователем (Дата + Время)

alienzzzz

интернет бизнес
Проверка даты, которая введена пользователем (Дата + Время)

Есть ли пример такого фунционала, чтоб
я мог проверить дату по формату
типа :
CheckDate($sDate, $sFormat) return bool

Вот что-то типа того.
____
ChekDate не подходит, потому как для этого мне нужно знать год, месяц и число, а мне надо есче и время проверять.
____
 

kos

Новичок
PHP:
function check_date_time($month,$day,$year,$h,$m)
{
   if(!checkdate($month,$day,$year))
      return false;
   if(($h<0)||($h>23)||($m<0)||($m>59))
      return false;
   else
      return true;
}
 

MD

Guest
alienzzzz
проверяй отдельно дату и отдельно время.

amorfis
а какая разница?
 

Фанат

oncle terrible
Команда форума
MD, ну, лично ты вообще не понял хорошего вопроса. тебе без разницы.
 

MD

Guest
Фанат
мабуть так ..

я о "а в каком виде будет дата хранится?" говорило.
 

Фанат

oncle terrible
Команда форума
поскольку перед тем, как проверять дату, человек должен озаботиться тем, в каком формате эту дату хранить. в таком порядке разрабатываются приложения.
 

alienzzzz

интернет бизнес
Мммддддааа . интересный народ на форумах =)
___
По ходу придеться свой парсер даты писать по формату ==)))
 

antson

Новичок
Партнер клуба
alienzzzz

Если я правильно понимаю ты хочешь
универсальную функцию проверки даты
1. параметр строковое представление даты-времени
2. Строковое выражение описывающее формат
в котором у тебя дата время находятся.


функция должна уметь перевести из строки в переменные год,месяц,день,час,минуты,секунды.
проверить время представленное в виде этих 6 переменных очень просто.
А вот с разбором придется повозиться.
Пишу к размышлениям можно подчерпнуть,прочитав в manuale про функцию strtotime().

Главное сформулируй требования для себя к тому как ты будешь описывать формат.

-~{}~ 27.07.05 14:04:

alienzzzz ты правильно мыслишь.
парсер придется делать.
 

MD

Guest
Фанат
я понимаю все. но причем тут ... он разве спрашивал о хранении? :)
ему нужно только проверить ее .. может он ее хранить и не собираеться совсем. только поэтому меня удивил слегка вопрос о хранении.
 

Фанат

oncle terrible
Команда форума
никакой пищи к размышлениям функция strtotime() дать не может.

alienzzzz
правильно.
я рад, что тебе понадобилось менше суток на то, чтобы понять свой вопрос.
чтто тебе нужен не проверяльщик корректности даты, а парсер.
вперёд и с песней.


Да. и странный народ на форумах. Не хочет за alienzzzz парсер написать, и на блюдечке с голубой каёмочкой принести.

-~{}~ 27.07.05 14:14:

MD
он разве спрашивал о хранении?
большая часть людей, задающих вопросы на этом форме, не понимают того, о чём спрашивают.
поэтому пережд ответом бывает неплохо подключить головной мозг.
может он ее хранить и не собираеться совсем
ню-ню.
а ты его, похоже, наоборот - отключил.
 

MD

Guest
Фанат
угу и выкинул.

например, touch я хочу сделать, нахрен мне дату хранить? :)
 

antson

Новичок
Партнер клуба
Фанат
заглянули бы все таки в ман. там комменты как раз на
преобразование. н-р
[email protected] (31-Jan-2002 06:36)
// support date format as : 23 1 2003, 23-01-2003, 23/01/2003,
// return timestamp
function str2date($in){

$t = split("/",$in);
if (count($t)!=3) $t = split("-",$in);
if (count($t)!=3) $t = split(" ",$in);
if (count($t)!=3) return -1;
if (!is_numeric($t[0])) return -1;
if (!is_numeric($t[1])) return -2;
if (!is_numeric($t[2])) return -3;

if ($t[2]<1902 || $t[2]>2037) return -3;
return mktime (0,0,0, $t[1], $t[0], $t[2]);
}
 

alienzzzz

интернет бизнес
Фанат
Ну я с самого начала так и думал, просто хотел чтоб написали =(
я думал о этой ф. ... но она не поможет =( надо писать парсер блин .
 

Фанат

oncle terrible
Команда форума
MD
что меня радует в ламерах - это когда они начинают оправдываться. ты продолжай-продолжай.

antson
да, нашему бедолаге только примера использования функции split и не хватало =)

-~{}~ 27.07.05 14:39:

надо писать парсер блин .
ты так сокрушаешься, как будто работы тут минимум на месяц.
скажу тебе по секрету - ты бы его написал за время, в 5 раз меньшее, чем скитаешься по форуму.
Если перед тем, как писать, включишь соображалку и отбросишь бессмысленные варианты
 
Сверху