Вы можете извлечь часовой пояс из вашей даты, используя preg_match
например,
$tz = preg_match('/([+-]\d+)$/', $datestr, $m) ? $m[0] : '';
, а затем создать DateTime
объекты из вашей строки даты и текущего времени, скорректированного с учетом часового пояса. Если затем мы вычтем один день из текущего времени и сравним две даты, мы сможем определить, является ли эта дата более чем одним днем a go:
$datestr = 'Fri, 28 Feb 2020 19:18:26 +010';
$date = new DateTime($datestr);
$tz = preg_match('/([+-]\d+)$/', $datestr, $m) ? $m[0] : '';
$now = new DateTime(date('Y-m-d H:i:s ' . $tz));
$now->modify('-1 day');
if ($now > $date) {
echo "$datestr is more than 1 day ago\n";
}
Вывод (по состоянию на 1 марта):
Fri, 28 Feb 2020 19:18:26 +010 is more than 1 day ago
Демонстрация на 3v4l.org