关于从开始日期到结束日期计算实际日期,我有一些简单的问题。
计算内部将包括闰年,一个月中的一天。
实施例:
开始日期: 15-03-2014
截止日期: 11-06-2015
结果:453天
我读过一个与此非常相似的问题。但这不是我想要的。
How to calculate the difference between two dates using PHP?
答案 0 :(得分:4)
实现此目标的最佳方法是使用 DateTime
(以及 DateInterval
)对象。将每个日期字符串转换为DateTime对象,并使用DateTime::diff()
方法计算两者之间的天数:
$dt1 = new DateTime($date1);
$dt2 = new DateTime($date2);
$diff = $dt2->diff($dt1);
echo $diff->format("%a"); // => 453
答案 1 :(得分:0)
使用Jquery你可以获得实际的日子
var due = due_date_month + '/' + due_date_day + '/' + due_date_year;
var deliver = deliver_date_month + '/' + deliver_date_day + '/' + deliver_date_year;
var deliver_date = new Date(deliver);
var due_date = new Date(due);
if (due_date > deliver_date) {
var difference = Math.floor(due_date - deliver_date);
difference = parseInt(difference / 86400000);
alert(difference);
}
答案 2 :(得分:0)
您可以使用strtotime()将日期转换为unix时间, 减去日期,并将结果除以86400(一天中的秒数), 像这样:
$start = strtotime($date1);
$end = strtotime($date2);
$diff = $end-$start;
$days = ceil($diff/86400); //or floor depends what you need
p.s。:$ start和$ end必须采用美国格式
答案 3 :(得分:0)
DATEDIFF('ending date','Starting date');
Ex.
$q=mysql_query('select DATEDIFF('$end_date','$start_date')' AS total_days <from table name>');
$result=mysql_fetch_array($q);
echo $result['total_days'];