我有一个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);
}
?>