0

我在 2 个日期之间有以下代码 2 天:

 $start = '2013-04-02'; 
 $end = '';
 if($end){ 
 $now = $end; 
 }else{
 $now = time();
 }
 $your_date = strtotime($start);
 $datediff = $now - $your_date;
 echo floor($datediff/(60*60*24));

这可以正常工作并计算正确的天数。

当我输入这样的结束日期时:

 $start = '2013-04-02'; 
 $end = '2013-09-11';
 if($end){ 
 $now = $end; 
 }else{
 $now = time();
 }
 $your_date = strtotime($start);
 $datediff = $now - $your_date;
 echo floor($datediff/(60*60*24));

我得到-15797的结果。

以上好像没问题?还是我做错了什么?

4

2 回答 2

1

尝试这个::

$start    = new DateTime('2013-04-02');
$end      = new DateTime('2013-09-11');
$interval = DateInterval::createFromDateString('1 day');
$period   = new DatePeriod($start, $interval, $end);
$count=count($period);
echo $count; 
于 2013-09-12T11:05:40.583 回答
0

应该是:

 $start = '2013-04-02'; 
 $end = '2013-09-11';
 if($end){ 
 $now = strtotime($end); 
 }else{
 $now = time();
 }
 $your_date = strtotime($start);
 $datediff = $now - $your_date;
 echo floor($datediff/(60*60*24));
于 2013-09-12T10:45:05.970 回答