$intervalがDateIntervalオブジェクトであるとすると、記念日が現在の日付から 1 年以内にある場合 = 0 または記念日が現在の日付から 1 年以内にある場合 = -0 の条件ステートメントは true です。
$interval = $anniversary->diff($current_Date);
if ($interval->format('%r%y') < 0){
do something
}
- abs は両方とも 0 であるため使用できません
- <= 0 は使用できません。どちらも
- >= 0 は使用できません。これは、望ましくない他のケースで true に設定されるためです。
- 0 は使用できず、0 を true にしたいため、< 0 は使用できません
- == 0 は両方とも true であるため使用できません
- > 0 は使用できません。0 は使用できず、0 を true にしたいからです
ですから、この数値は負の符号であるなどと言いたいのですが、私が知る限り、そのようなものは存在しません。何かご意見は?
** 編集 **
解決策は、日付オブジェクトを比較して、それらが適切な DateInterval 内にあるかどうかを判断することです。
if ($anniversary < $current_Date && $interval->format('%r%y') == 0){