Кемеровские программисты 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
1726669041
Anonymous
У меня есть две даты, которые нужно отобразить в формате
[code]29th and 30th November 2024
or
28th to 30th November 2024
or
28th October to 30th November 2024
or
30th November and 1st December2024
[/code]
Я попробовал код ниже.
[code] $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');
}
}
[/code]
Есть ли лучший способ добиться этого?
Подробнее здесь: [url]https://stackoverflow.com/questions/78997387/date-format-with-php-using-datetime[/url]