Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: сравнивание даты с датой

Сообщения:  [1-10]   [11-17] 

 
 автор: krot   (01.03.2006 в 17:06)   письмо автору
 
   для: Drago   (01.03.2006 в 00:18)
 

ну кто поможет?

   
 
 автор: krot   (01.03.2006 в 10:27)   письмо автору
 
   для: Drago   (01.03.2006 в 00:18)
 

люди подскадите
вот проверка на пральность ввода даиы
if(ereg("([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})", $data1) && ereg("([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})", $data2))
{
echo("ok");
} else{
echo("не ok");
}
и когда я ввожу в поле вот ету дату 123.10.2006, то выводится ОК
что не так?

   
 
 автор: Loki   (01.03.2006 в 00:19)   письмо автору
 
   для: krot   (28.02.2006 в 23:36)
 

Это моя ошибка. индексы массива начинаются с нуля. Должно быть так:

return mktime(0, 0, 0, $tmp[1], $tmp[0], $tmp[2]); 

   
 
 автор: Drago   (01.03.2006 в 00:18)   письмо автору
 
   для: krot   (28.02.2006 в 23:38)
 

Вот так будет работать.

<? 
function new_date($date

$tmp=explode("."$date); 
return 
mktime(000$tmp[1], $tmp[0], $tmp[2]);

$date1="10.01.1986"
$date2="25.02.1986"
if (
new_date($date1)>new_date($date2)) 
echo 
"$date1>$date2"
else 
echo 
"$date1<$date2"
?>

Массивы... все у них не как у людей. :)))

   
 
 автор: cheops   (01.03.2006 в 00:10)   письмо автору
 
   для: krot   (28.02.2006 в 23:36)
 

Хм... а откуда у вас там отрицательные значения, что предаётся через $date?

   
 
 автор: krot   (28.02.2006 в 23:38)   письмо автору
 
   для: Loki   (28.02.2006 в 14:13)
 

наверное он работает в юникс-подобных системах, а уменя видоус

   
 
 автор: krot   (28.02.2006 в 23:36)   письмо автору
 
   для: Loki   (28.02.2006 в 14:13)
 

помоему етот код не работает, выводит -
Warning: mktime(): Windows does not support negative values for this function in C:\Program Files\PHP Expert Editor\phpA.tmp on line 6
люди а есть ещё варианты?

   
 
 автор: Loki   (28.02.2006 в 14:13)   письмо автору
 
   для: krot   (28.02.2006 в 13:57)
 

<?
function new_date($date)
{
 
$tmp=explode("."$date);
 return 
mktime(000$tmp[2], $tmp[1], $tmp[3]);
}
$date1="10.01.1986";
$date2="25.02.1986";
if (
new_date($date1)>new_date($date2))
echo 
"$date1>$date2";
else
echo 
"$date1<$date2";
?>

   
 
 автор: krot   (28.02.2006 в 13:57)   письмо автору
 
   для: Loki   (28.02.2006 в 12:40)
 

mktime() из разбитой строки exploed-ом вида "10.01.1986" - формат (d.m.y) сделает мне число в секундах? помоему это не подходит по логике...
приведи пример (код) сравнивания дат.

   
 
 автор: krot   (28.02.2006 в 13:54)   письмо автору
 
   для: cheops   (28.02.2006 в 13:00)
 

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

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования