我在变量$ date1和$ date2中分配了两个日期。 这是代码..
if (isset($_POST['check_in']))
{
$date1=date('Y-m-d', strtotime($_POST['check_in']));
}
if (isset($_POST['check_in']))
{
$date2=date('Y-m-d', strtotime($_POST['check_out']));
}
例如,如果date1="2015-05-21"
和date2="2015-05-23"
。我希望日期的差异为2
答案 0 :(得分:1)
使用DateTime
课程。试试 -
$date1=new DateTime("2015-05-21");
$date2=new DateTime("2015-05-23");
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
<强>输出强>
+2 days
答案 1 :(得分:0)
你走了:
https://php.net/manual/en/datetime.diff.php
代码包含各种示例。
这是我喜欢的一个:
<?php
$datetime1 = date_create('2015-05-21');
$datetime2 = date_create('2015-05-23');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>
我希望这会有所帮助:)
答案 2 :(得分:0)
由于strtotime
返回unixtime,因此只需从另一个中减去一个strtotime
即可计算出以秒为单位的差异:
$seconds = strtotime($_POST['check_out']) - strtotime($_POST['check_in']);
然后找到日子:
$days = $seconds / 60 / 60 / 24;