我目前正在开展一个项目。我用来比较我的数据库中的日期和当前日期。如果当前日期大于数据库中的日期,那么我将调整该项目的持续时间在数据库日期中的持续时间,直到它大于当前日期。
我得到的只是临时日期,项目的持续时间和数据库中的日期。
我所做的是在循环中使用这个:
NrOfRelations
但我不允许使用while循环。任何线索如何获得相同的结果?
答案 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天。
如果您需要月份,请将%a
替换为%m