如何计算PHP和MYSQL中两个日期之间的天数

时间:2015-09-25 05:45:45

标签: php mysql

我需要计算两个日期之间的天数。 我输入的必需日期,在给定日期从数据库中获取记录。 如果数据库有“开始日期”的话。作为1Jan2015' enddate'截至5Feb2015。 对于1月份,它应该返回30和2月5日。

我的表:

///////////Employee Outstation(Travel) details/////////////
    $employeeTravel = new EmployeeTravelRecord();
    //date_start = '2015-04-01' ;
    //date_end   = '2015-04-30';

    $TravelEntryList = $employeeTravel->Find("(travel_date between ? and ? or  return_date between ? and ? )",array($req['date_start'], $req['date_end'],$req['date_start'], $req['date_end']));
    foreach($TravelEntryList as $Travelentry){

    $amount = (strtotime($Travelentry->return_date) - strtotime($Travelentry->travel_date));

                }   

我的编码

[{"id":"6","status":{"set":"3"}},
{"id":"10","status":{"set":"3"}}]

对于第二条记录,它返回正确的值,但对于第三条记录,它计算包括五月。但我希望只有30天的四月。

3 个答案:

答案 0 :(得分:0)

DATEDIFF()返回从一个日期到另一个日期的天数。

select *,datediff( end Date,  Start Date) as days from My table;

答案 1 :(得分:0)

请看一下这篇文章,你应该找到你想要的东西:

How to get the number of days of difference between two dates on mysql?

答案 2 :(得分:0)

PHP中有一个函数,称为date_diff两个日期之间的差异。

<?php
$date1 = date_create("2013-03-15");
$date2 = date_create("2013-12-12");
$diff = date_diff($date1,$date2);
echo $diff->format("%R%a days");

?>