1

向前:

我已经浏览了有关此问题的现有问题/答案。这不是一个两面派的问题;我无法从接受的答案中找到可行的解决方案。

我回顾的主要问题/答案可以在这里找到: 如何使用 PHP 计算两个日期之间的差异?

我需要的:

计算两个日期之间的差异,表示为年、月和日,适用于 PHP 版本:5.2

<?php
$current_date = date('d-M-Y');
$future_date = '2012-11-01';
?>

我试过的:

  1. 我在网上找到的大多数答案似乎并不准确,因为它们没有考虑闰年。
  2. 这个高度评价的答案不起作用,因为 DateTime->diff() 是 php 5.3+。
  3. 这个公认的答案(即针对 PHP 5.2 的第二个代码块)导致解析以下内容:

    数组 ( [y] => 25 [m] => 11 [d] => 7 [h] => 3 [i] => 15 [s] => 19 [invert] => 0 [days] => 9473 ) 数组 ( [y] => 25 [m] => 11 [d] => 7 [h] => 3 [i] => 15 [s] => 19 [invert] => 1 [days] =>第9473章

我不知道我是否错误地应用了代码,或者这只是我不知道如何操作数组的情况。

4

2 回答 2

1

您是否在手册页DateTime::diff()上看到此评论?

于 2012-10-17T23:07:01.313 回答
0

我也在做同样的事情。这可能有效!首先,您需要创建日期。

$date1=date_create("2012-03-15");
$date2=date_create("2013-03-15");

这是手册! 然后找到日期之间的差异并打印所需的结果使用这个!

$dif=date_diff($date1,$date2); //Will calculate the difference between two dates.
$days = $dif->days; //Days
$years = round($age/365); //Converting days to years and rounding them up.
$months = $difference/30; // Converting to months.
echo "Days =>".$days;
echo "Years =>".$years;
echo "Months =>".$months;

现在,您将得到的答案将不准确,因为其中没有计算闰年的方法,但如果精度不是您要寻找的,那么这肯定会奏效!我知道这个问题很久以前就被问过了,但在我的辩护中,我刚刚看到了!

于 2014-12-14T13:59:28.093 回答