2012-06-03 60 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

确定它工作正常,但我想缩短回报我的意思是我想少编码是可能的吗? –