私は、現在の日付とx日よりも劣っている場合は別の日付との間の差異が真である場合にtrueを返す関数を作成しました。ここでPHP DateTimeの差分形式は、-0を返します。
は私の関数である。
private function notBeforeDate($date_to_compare, $interval) {
$now = new DateTime('now');
$date = new DateTime($date_to_compare);
$diff = $now->diff($date)->format("%r%a");
return $diff < $interval ? true : false;
}
しかし、私は同じ日付$diff
を送信するときにします戻り-0日+1されます0を返します。
例:(現在の日付があると仮定2017- 2月16日):
$this->notBeforeDate('2017-02-15', 1); // $diff = -1
$this->notBeforeDate('2017-02-16', 1); // $diff = -0
$this->notBeforeDate('2017-02-17', 1); // $diff = 0
$this->notBeforeDate('2017-02-18', 1); // $diff = 1
どのように私は私の$diff
変数に良い値を得るために行うことができますか?
$this->notBeforeDate('2017-02-15', 1); // $diff = -1
$this->notBeforeDate('2017-02-16', 1); // $diff = 0
$this->notBeforeDate('2017-02-17', 1); // $diff = 1
$this->notBeforeDate('2017-02-18', 1); // $diff = 2
いくつかの変更を加えれば問題ありません。 - https://eval.in/738465 –
2017-02-17と2017-02-16は両方とも0を返します。受け取った日付がその日であれば '1'を返します。+1 – John
それを掘り下げることなく、時刻を返すような' DateTime'サウンドもあります。 「今」は私のためにここにあります2017-02-16 13:48魔女は2017-02-16 00:00:00と2017-02-17 00:00:00の両方から一日少ないです。私はあなたの探している日があれば、代わりに「日付」を付けることを提案します。 –