2012-06-03 2 views
0

привет это работает хорошо для меня, но я думаю, что это может быть более простым может кто-нибудь помочь мне с этим кодом для проверки времени и даты, введенной пользователемPHP времени проверки и дата

function ckeck_date($sug_date, $sug_time) 
    { 
     if ($sug_date[0] == NULL) 
     { 
      return TRUE; 
     } 
     else 
     { 
      for ($i = 0; $i < count($sug_date); $i++) 
      { 
       if ($this->_totimestamp($sug_date[$i], $sug_time[$i]) < mktime(23, 59, 59, date('m'), date('d') - 1, date('Y'))) 
       { 
       $x=false; 
       } 
       else $y=true; 
      } 

     } 
     if(isset($x)) 
     { 
     return $x*$y; 
     } 
else return true; 

    } 
+0

Что это, вы можете это исправить? –

+0

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

ответ

2

Попробуйте это, возьмите свою дату и время.

$str = '2012-06-15 11:12:23'; // OR '15-06-2012 11:12:23' 

if (strtotime($str) > time()) { 
    // Your time is greater than current time 
} 
+0

Это отлично работает, но я хочу сократить количество возвратов, я имею в виду, что я хочу, чтобы меньшее кодирование было возможно? –

+0

Я бы сказал, что одна строка, если утверждение достаточно короткое. Зачем вам нужно делать это меньше кода? – Bojangles

0

На сегодняшний день вы можете использование:

checkdate

с strtotime вы можете создать int из строки и сравнить их, если они в будущем (если сравнивать с now)

$today = strtotime(date("Y-m-d")); // today's date 
$userd = strtotime("2012-10-16"); // users input 

if ($userd > $today){ 
    $valid = "yes"; 
} else { 
    $valid = "no"; 
} 

Если я прав, вы можете добавить время на вход, а также, но вы должны проверить документацию PHP на этом для правильной даты и времени формат

короткий:

if (strtotime($userdate) > strtotime(date("Y-m-d"))){ 
    $valid = "yes"; 
} 
+0

Мне нужно узнать, указана ли дата, введенная пользователем не старая дата –

+0

обновленный ответ. при условии, что ваш ввод пользователя является строкой, используйте strtotime, чтобы преобразовать его и проверить его на текущую дату и время. –

+0

нормально работает, но я хочу сократить количество возвратов. Я хочу, чтобы я хотел, чтобы меньшее кодирование было возможно? –

Смежные вопросы