我有一个正在运行的脚本,运行良好但不正常。该函数假设计算两个日期/时间之间的时间差。
第一个日期是当前日期和时间(日期+小时:分钟),第二个日期由用户选择。
目的是在当前日期/时间在用户选择的日期后 24 小时内显示错误。即,如果今天是 23/20/2012 16:00 并且用户选择 24/10/2012 15:00(这意味着它在 24 小时内)但是如果用户选择 26/10/2012 19:00 那么它已经过去了 24 小时。
现在这工作正常,但是当日期更改其年份时(当用户选择 2012 年 12 月 31 日之后的任何日期时......它假设它仍然在 24 小时内......我很困惑这是怎么发生的......谁能阐明我所知道的做错了吗?
$dt = $_GET['dt']; $tm = $_GET['tm'];
// Current Date an time (Hrs & Mins)
$date1 = date("Y-m-d H:i");
// Chosen Date/Time
$date2 = date("Y-m-d", strtotime( "$dt" ) );
$diff = strtotime($date2." $tm") + - strtotime($date1);
if($diff/3600 < 24)
echo "0";
else
echo "1";
以下是进行调用的相应 Ajax
function getAjaxTime()
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
dt = document.frm.arrival_date.value;
tm = document.frm.arrival_hour.value +':'+document.frm.arrival_min.value;
xmlHttp.open("GET","<?php echo $base_dir;?>/admin/get/timediff.php?dt="+encodeURI(dt)+"&tm="+encodeURI(tm),false);
xmlHttp.send(null);
return xmlHttp.responseText;
}