PHP - 将日期的年份更改为当前年份

PHP - Changing date's year to current year

我有几个约会时间:

DateTime {#2205 ▼
  +"date": "1970-01-01 12:30:00.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}
DateTime {#2206 ▼
  +"date": "1970-01-01 20:00:00.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}

我只是要求判断当前时间在第一次和第二次之间。这是我的代码:

private function dateIsBetween($from, $to,$currentdate) {
    if ($currentdate >= $from && $currentdate <= $to) {
        return true;
    }
    return false;
}

public function checkTimes($foodTime) {
         $currentTime = new \DateTime();
        var_dump($foodTime->getTimeStartNoon(),$foodTime->getTimeEndNoon());
        return $this->dateIsBetween($foodTime->getTimeStartNoon(),$foodTime->getTimeEndNoon(),$currentTime);

    }

我应该解决的基本问题是将日期的年份更改为当前年份。 Carbon(或纯 PHP)有可能吗?如何实现?

你可以用这个方法

public function checkTimes($foodTime) {
    $currentTime = Carbon::now();
    var_dump($foodTime->getTimeStartNoon(),$foodTime->getTimeEndNoon());
    return ($currentTime->gt($foodTime->getTimeStartNoon()) && $currentTime->lt($foodTime->getTimeEndNoon()));

}
public function convertRestaurantTime($time): string
{
    if (gettype($time) == 'string') {
        $time = new \DateTime($time);
    }

    $time   = Carbon::createFromFormat('H:i:s', Carbon::instance($time)->format('H:i:s'), 'Asia/Tehran');
    $hour   = $time->format('G');
    $minute = $time->format('i');

    if ($minute != '00') {
        return $hour . '.' . $minute;
    }

    return $hour;
}