Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP比较日期_Php_Function_Date - Fatal编程技术网

用PHP比较日期

用PHP比较日期,php,function,date,Php,Function,Date,我正在开发一个php应用程序,需要一些比较日期的帮助。 我有一个日期选择输入字段(datepicker),由于客户端代码,它将始终以mm/dd/YYYY格式发布日期,例如2015年2月25日 我要做的是用php确定这个日期不晚于当前日期 最初,我将本地时区设置为: date_default_timezone_set('Europe/London'); 在代码中,我有: } elseif (date(strtotime($_POST['datepicker'])) > date('m,d,

我正在开发一个php应用程序,需要一些比较日期的帮助。 我有一个日期选择输入字段(datepicker),由于客户端代码,它将始终以mm/dd/YYYY格式发布日期,例如2015年2月25日

我要做的是用php确定这个日期不晚于当前日期

最初,我将本地时区设置为:

date_default_timezone_set('Europe/London');
在代码中,我有:

} elseif (date(strtotime($_POST['datepicker'])) > date('m,d,Y')){
    $displayblock.= "<br><p>The selected date is in the future!!!       </p>".date("d/m/Y", strtotime($_POST['datepicker']));
$alertbox = "<script>alert('".$_POST['datepicker']." is in the future!!! Shall we try that again? :-)');</script>";
}elseif(日期(strotime($\u POST['datepicker']))>date('m,d,Y')){
$displayblock.=“
所选日期是将来!!!

”.date(“d/m/Y”,strotime($\u POST['datepicker')); $alertbox=“alert(“$\u POST['datepicker']”是将来的事!!!我们可以再试一次吗?:-);”;
这显然远远不够优雅,而且似乎也不能正确地匹配日期。 有人能帮忙吗


非常感谢,

如果它们是作为字符串使用此函数提供的,您还可以对它们进行比较。第一个日期是来自html/javascript日期选择器的日期,第二个日期是服务器的实际日期:

function stringDateIsAPastDate($datestring1){
  if ((date("j-m-Y", strtotime($datestring1))) <= (date("j-m-Y"))){
    //here the code to do when the date inserted from the website is a past date or today
    return(true);
  }else{
    return(false);
  }
}
函数stringDateIsAPastDate($datestring1){
如果((日期(“j-m-Y”,strotime($datestring1))
$now=newdatetime();
$now->format('Y-m-d');
$ding=新的日期时间($_POST['datepicker']);
$ding->format('Y-m-d');
如果($now<$ding){
echo“日期选择器在当前时间之后”;
}否则{
echo“日期选择器在当前时间之前”;
} 

比较两个日期

$date1 = new DateTime('May 13th, 1986');
$date2 = new DateTime('October 28th, 1989');

$difference = $date1->diff($date2);
检查此项:

和php.net手册:

我想您可以从中使用。无论哪种方式,如果datediff不起作用,我相信您可以使用DateTime类中的一些东西来帮助您,浏览一下。如果您想要一种简单的OO方式来与时间交互,您可以使用
$date1 = new DateTime('May 13th, 1986');
$date2 = new DateTime('October 28th, 1989');

$difference = $date1->diff($date2);