Проверка даты php
Дата приходит методом $_GET вот так:
/page.php?year=2023&month=1&day=8
if (substr(strval($_GET['day']), 0, 1)=='0' || substr(strval($_GET['month']), 0, 1)=='0') {
$text = 'В дне или месяце первая цифра 0, так не надо делать';
} else {
if ($_GET['day'] > 31 || $_GET['day'] < 1 || $_GET['month'] < 1 || $_GET['month'] > 12) {
$text = 'Такой даты не бывает';
} else {
$today = date('Y-n-j');
$get_date = $_GET['year'].'-'.$_GET['month'].'-'.$_GET['day'];
if ($get_date > $today) {
$text = 'Это будет потом';
} elseif ($get_date == $today) {
$text = 'Это случилось сегодня';
} elseif (/*условие вчерашней даты*/) {
$text = 'Это случилось вчера';
}
}
}
Помогите плиз разобраться с условием, если пришла вчерашняя дата? Как его составить правильно, учитывая, что вчера может быть 31 декабря, например? Ну, и если я что-то сделал не по-людски, поправьте пожалуйста. Думаю, что есть более красивое решение.