У меня есть календарь PHP, в котором перечислены все дни месяца в таблице. До первого дня месяца у меня есть числа за предыдущий месяц, а после последнего дня месяца — числа дней в предстоящем месяце.
Вот фото календаря, как он выглядит сейчас. Как вы можете видеть, нижние серые числа работают нормально, но числа, предшествующие первому дню месяца, являются отрицательными числами и вместо этого должны отображаться как «29,30».
Например, числа после последнего дня месяца были просто «32,33,34», поэтому я только что создал оператор if, который проверяет, превышает ли число общее количество дней в текущем месяце, и если да, то например, вычтите общее количество дней в месяце из «32», чтобы оно отображалось как «1,2,3».
if ($day > $total_days_of_current_month) {
echo '<td>' . ($day - $total_days_of_current_month) . ' </td>'; // for example,33-31=2
}
Моя проблема заключается в создании инструкции if, которая каким-то образом знает, какими были последние дни предыдущего месяца. Проблема в том, что в некоторых месяцах 30 дней, а в некоторых 31 день. Кроме того, февраль и високосные годы являются проблемой. Кто-нибудь знает оператор if, чтобы я мог сделать его отображаемым как «28,29,30» из предыдущего месяца?