如何正确比较两个日期



我有一个Web应用程序,它从MySQL数据库中获取日期(dd.mm.YYYY)。

$date = ($_row["date"]);
$date = date('d.m.Y', strtotime($date));
$date = date('d.m.Y', strtotime("-5 day", strtotime($date)));

我像这样格式化日期。

现在我想将数据库中的日期与今天的日期进行比较。

$today = date('d.m.Y');

我想在从今天起的 5 天内$date展示一些东西.我的问题是现在如何检查?我知道代码中有很多错误,但我不知道如何正确执行此操作。

你可以像这样使用 strtotime:

public static function dateDifferenceInDays($date1, $date2)
{
    $str = strtotime($date1) - strtotime($date2);
    return floor($str / 3600 / 24);
}

您可以将 DateTime 对象与函数 diff() 一起使用。 最小值.PHP 5.3.0

很舒服:

<?php
  // your date from your Database
  $date = new DateTime('26.01.2015');
  // today
  $today = new DateTime;
  // calculate difference
  $diff = $today->diff($date);
  // if difference = 5 days
  if($diff->format('%a') == 5) {
    echo '5 days away';
  }else{
    echo $diff->format('%a'). ' days away.';
  }
?>

如果你有一个PHP版本LESS 5.3.0,你可以使用的功能 斯蒂波泽在另一个答案中:

<?php
  $_row["date"] = '27.01.2015';
  // your date from your Database
  $date = new DateTime( $_row["date"]);
  // today
  $today = new DateTime;
  // if difference = 5 days
  if(dateDifferenceInDays($date->format('d.m.Y'), $today->format('d.m.Y')) == 5){
    echo '5 days';
  }
  // function from stepozer
  function dateDifferenceInDays($date1, $date2)
  {
    $str = strtotime($date1) - strtotime($date2);
    return floor($str / 3600 / 24);
  }
?>

相关内容

  • 没有找到相关文章

最新更新