[英]How to compare two dates correctly?
我有一個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');
我想展示一下從今天$date
5天內是$date
。 我的問題是現在該如何檢查? 我知道代碼中有很多錯誤,但我不知道如何正確執行此操作。
您可以將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,則可以在其他答案中使用stepozer的功能:
<?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);
}
?>
您可以這樣使用strtotime:
public static function dateDifferenceInDays($date1, $date2)
{
$str = strtotime($date1) - strtotime($date2);
return floor($str / 3600 / 24);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.