【问题标题】:PHP datetime comparing daysPHP datetime 比较天数
【发布时间】:2013-04-22 15:02:45
【问题描述】:

我正在用这段代码比较日期:

$date1 = new DateTime("2007-03-24 12:10:00");
$date2 = new DateTime("2009-06-26 14:00:30");
$interval = $date1->diff($date2);

如果我回显这个:echo $interval->m." months and".$interval->d." days."; 我会得到输出 3 months and 2 days.。现在,我想回应日期之间的差异,但包括天数中的月数,因此 1 个月(其中有 30 天)和 5 天的差异将是 35 天,而不是 1 个月和 5 天。我该怎么做?

我使用的是 PHP 5.3+ 版本。

【问题讨论】:

  • 您可以使用format function
  • @Kacey 不,还有更好的方法
  • @STTLCU 谢谢。在发帖之前我并没有真正考虑过他想要什么。

标签: php date datetime


【解决方案1】:

你应该可以使用:

$interval->days;

见:http://www.php.net/manual/en/class.dateinterval.php#dateinterval.props.days

echo "There are ".$interval->days." days between the two dates.";

【讨论】:

  • 嗯...这比预期的要容易! 9 分钟后接受(该死的计时器..)。
  • 快速题外话:如何根据当前日期和时间制作日期时间对象?
【解决方案2】:

您的 $interval 变量的类型为 DateInterval

因此,$interval->days 应该产生所需的输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-16
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2016-11-01
    • 2023-03-28
    • 2020-09-15
    相关资源
    最近更新 更多