如何将日期与值进行比较? PHP

时间:2018-06-11 14:34:53

标签: php

我目前正在开展一个项目。我用来比较我的数据库中的日期和当前日期。如果当前日期大于数据库中的日期,那么我将调整该项目的持续时间在数据库日期中的持续时间,直到它大于当前日期。

我得到的只是临时日期,项目的持续时间和数据库中的日期。

我所做的是在循环中使用这个:

NrOfRelations

但我不允许使用while循环。任何线索如何获得相同的结果?

3 个答案:

答案 0 :(得分:1)

$开始= $值 - >启动; $ contractDuration = $值 - > contractDuration; 尝试以下代码。

$start = '2018-04-09';
$contractDuration = 1;
$contractDurationDate = strtotime("-" . $contractDuration . " months");
$now=strtotime(date('Y-m-d'));
$start=strtotime($start);
if ($contractDurationDate < $now && $start< $now) {
    echo 'Contract duration is active';
} else {
    echo 'Contract Expired';
}

答案 1 :(得分:0)

尝试使用以下代码。它可能对你有帮助

$now = time();
$target = strtotime($date_from_db);
$diff = $now - $target;
if ( $diff > 900 ) {
  // something
}

或者,更简洁:

if( time() - strtotime($date_from_db) > 900 ) {
  // something
}

答案 2 :(得分:0)

我非常喜欢使用DateTime并使用date_diff:

<?php

$databaseDate = new DateTime("2018-01-02");
$today = new DateTime();

if($today > $databaseDate){
    echo date_diff($today, $databaseDate)->format("%a")." days";

}

将输出160天。

https://3v4l.org/3FfKp

如果您需要月份,请将%a替换为%m