<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>
问问题
1352 次
3 回答
0
这样你可以在 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);
于 2013-09-04T05:32:42.483 回答
0
有两种方法可以计算 PHP 中的日期之间的差异,即过程和面向对象。
程序风格
$datetime1 = date_create('YYYY-mm-dd'); $datetime2 = date_create('YYYY-mm-dd'); $interval = date_diff($datetime1, $datetime2); echo $interval->format('%R%a days');
面向对象的风格
$datetime1 = new DateTime('YYYY-mm-dd'); $datetime2 = new DateTime('YYYY-mm-dd'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days');
您可以使用其中任何一个。
于 2013-09-04T05:47:43.383 回答
0
试试下面的功能。工作出色:
/**
* 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";
}
于 2013-09-04T05:57:05.007 回答