Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP和MYSQL中计算两个日期之间的天数_Php_Mysql - Fatal编程技术网

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

如何在PHP和MYSQL中计算两个日期之间的天数,php,mysql,Php,Mysql,我需要计算两个日期之间的天数。 我输入的所需日期,在给定日期之前从数据库中获取记录。 如果数据库的“开始日期”为2015年1月1日,“结束日期”为2015年2月5日。 1月应返回30天,2月应返回5天 我的桌子: id Name Type Project Place Start Date End Date Details 1 Sai Local Site Bangalore 2015-0

我需要计算两个日期之间的天数。 我输入的所需日期,在给定日期之前从数据库中获取记录。 如果数据库的“开始日期”为2015年1月1日,“结束日期”为2015年2月5日。 1月应返回30天,2月应返回5天

我的桌子:

id  Name    Type    Project Place            Start Date              End Date                Details
1   Sai Local   Site    Bangalore   2015-09-03 11:32:47 2015-09-05 11:32:47 test                    
2   Ram Local   IGCAR   Chennai     2015-04-01 15:15:36 2015-04-09 15:15:36 Installation                    
3   Mani    Local   IGCAR   Chennai     2015-04-16 15:16:18 2015-05-21 15:16:18 Training
我的编码

///////////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));

                }   
对于第二条记录,它返回正确的值,但对于第三条记录,它计算的值包括五月月份。但是我只想要4月的30天。

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

select *,datediff( end Date,  Start Date) as days from My table;
DATEDIFF()返回从一个日期到另一个日期的天数值

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

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


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


PHP
中有一个名为
date\u 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");

?>


PHP
中有一个名为
date\u 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");

?>


这是一个从昨天开始的记录,你可以在等待代码删除时查看,这是一个从昨天开始的记录,你可以在等待代码删除时查看。在这个记录中,它计算数据库中同一个月内两个日期之间的天数。但在我的例子中,一条记录的开始日期和结束日期为4月和5月。我不知道你的意思:DateDiff()可以工作,即使两个日期不在同一个月内(例如:选择DateDiff('2011-05-15','2010-04-12');将返回398天)是的,实际上我想知道5月份有多少天,('2011-05-15','2010-04-12');在5月,他离开车站15天,在4月19天。我想计算这两个日期之间的每个月,每月有多少天。在这个例子中,它计算数据库中同一个月内两个日期之间的天数。但在我的例子中,有一条记录的开始和结束日期是4月和5月。我不知道你的意思:DateDiff()可以工作,即使两个日期不在同一个月内(例如:选择DateDiff('2011-05-15','2010-04-12');将返回398天)是的,实际上我想知道5月份有多少天,('2011-05-15','2010-04-12');在这里,5月,他离开车站15天,4月19天。我想计算这两个日期之间的每个月,每月有多少天。