<li>Date From *<br />
<input type="text" name="date_from" id="date_from" value="<?=gf_dateformat($date_from,'Y-m-d') ?>" onclick="javascript: displayDatePicker('date_from', false, 'dmy', '-');" style="width:100px;" />
</li>
<li>Date TO *<br />
<input type="text" name="date_to" id="date_to" value="<?=gf_dateformat($date_to,'Y-m-d') ?>" onclick="javascript: displayDatePicker('date_to', false, 'dmy', '-');" style="width:100px;" onblur="" />
</li>
<li>No of Days <br />
<input type="text" name="num_days" id="num_days" required="yes" validate='text' title="Enter Number of Days"/>
</li>
这样您就可以在JS中找到两个日期的差异。
var Days = Math.floor((Date2.getTime() - Date1.getTime())/(1000*60*60*24));
在php中,您可以使用以下代码。。。
$startTimeStamp = strtotime("2011/07/01");
$endTimeStamp = strtotime("2011/07/17");
$timeDiff = abs($endTimeStamp - $startTimeStamp);
$numberDays = $timeDiff/86400; // 86400 seconds in one day
// and you might want to convert to integer
$numberDays = intval($numberDays);
尝试下面的函数。作品优秀:
/**
* Calculates the difference between two dates in days, months and years.
* @param $start_date string Starting date.
* @param $end_date string Ending date.
* @return string Specifying the days, months and years in difference.
* @category Date
*/
function get_date_diff($start_date, $end_date)
{
$diff = abs(strtotime($end_date) - strtotime($start_date));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
return "{$days} days, {$months} months, {$years} years";
}
在PHP中有两种方法可以计算日期之间的差异,即过程和面向对象。
程序样式
$datetime1=date_create('YYYY-mm-dd');$datetime2=date_create('YYYY-mm-dd');$interval=date_diff($datetime1,$datetime2);echo$interval->格式("%R%a天");
面向对象的样式
$datetime1=新的DateTime('YYYY-mm-dd');$datetime2=新的DateTime('YYYY-mm-dd');$interval=$datetime1->diff($datetime2);echo$interval->格式("%R%a天");
您可以使用其中任何一个。