Формат даты с помощью PHP с использованием DatetimePhp

Кемеровские программисты php общаются здесь
Anonymous
Формат даты с помощью PHP с использованием Datetime

Сообщение Anonymous »

У меня есть две даты, которые нужно отобразить в формате

Код: Выделить всё

29th and 30th November 2024
or
28th to 30th November 2024
or
28th October to 30th November 2024
or
30th November and 1st December2024
Я попробовал код ниже.

Код: Выделить всё

                $date1 = new DateTime('2024-09-29');
$month1 = $date1->format('m');
$date2 = new DateTime('2024-09-30');
$month2 = $date2->format('m');
$interval = $date1->diff($date2);
if($month1 == $month2){
if($interval->days == 1){
$result_date = getDayWithSuffix($date1);
$result_date .= ' and ';
$result_date .= getDayWithSuffix($date2);
$result_date .= ' '.$date1->format('F');
$result_date .= ' '.$date1->format('Y');
} else {
$result_date = getDayWithSuffix($date1);
$result_date .= ' to ';
$result_date .= getDayWithSuffix($date2);
$result_date .= ' '.$date1->format('F');
$result_date .= ' '.$date1->format('Y');
}
} else {
if($interval->days == 1){
$result_date = getDayWithSuffix($date1);
$result_date .= ' '.$date1->format('F');
$result_date .= ' and ';
$result_date .= getDayWithSuffix($date2);
$result_date .= ' '.$date2->format('F');
$result_date .= ' '.$date1->format('Y');
} else {
$result_date = getDayWithSuffix($date1);
$result_date .= ' '.$date1->format('F');
$result_date .= ' to ';
$result_date .= getDayWithSuffix($date2);
$result_date .= ' '.$date2->format('F');
$result_date .= ' '.$date1->format('Y');
}
}
Есть ли лучший способ добиться этого?


Подробнее здесь: https://stackoverflow.com/questions/789 ... g-datetime

Вернуться в «Php»