php - 日期差异计算天数差异的奇怪 PHP 5.3 问题

标签 php datetime php-5.3

我在使用 PHP 5.3 的日期差异函数计算两个日期之间的天数差异时遇到了一个相当奇怪的问题。下面是我的代码:

$currentDate = new DateTime(); // (today's date is 2012-1-27)
$startDate = new DateTime('2012-04-01');

$diff = $startDate->diff($currentDate);

$daysBefore = $diff->d;

echo $daysBefore; 

上面的代码显示 4 作为 $daysBefore 变量的值。

为什么 PHP 在 2012 年 1 月 27 日和 2012 年 4 月 1 日之间显示了 4 天的差异,而这些日期之间显然还有更多的天数。

我做错了什么吗?

最佳答案

DateInterval::$d 是间隔的天数部分,不是总天数之差。为此,您需要 DateInterval::$days,所以:

$daysBefore = $diff->days;

关于php - 日期差异计算天数差异的奇怪 PHP 5.3 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9034674/

相关文章:

php - 在 php 邮件 header 中的 from 字段中使用逗号的问题

php - 如何在 php 中使用 paypal 跟踪定期付款详细信息?

php - 关于大型项目速度的基本想法 - 每秒线程数,a.s.o

python - Django 日期时间查询

mysql - cms php 旋律 url 重建所需的重写规则

php - Nginx : UTF-8 charset instead of ISO-8859-1

php - Laravel 是 "listening"到 index.php URL 中任意位置的字符串

sql - Postgres - 将 TSTZRANGE 分成两列

python - 使用 Python 读取带有日期对象和 float 的逗号分隔文件

php - 重用错误信息的方法