PHP'de 2 tarih arasındaki ay ve günleri almak
PHP'de 2 tarih arasında kalan ve ay günleri alabileceğim bir fonksiyona ihtiyacım var.
Örneğin:
Başlangıç tarihi: 2023-01-01
Bitiş Tarihi: 2023-12-31
Buna göre 1. aydan 12. aya kadar bir dizi oluşacak ve bu aylar içinde yine o aya ait günler Y-m-d formatında dizi olarak tutulacak.
Buna bir örnek verir misinz?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
şöyle bir örnek bırakıyorum:
function getMonthsAndDays($startDate, $endDate) {
$start = new DateTime($startDate);
$end = new DateTime($endDate);
$interval = new DateInterval('P1D');
$period = new DatePeriod($start, $interval, $end);
$monthsAndDays = array();
foreach ($period as $date) {
$month = $date->format('Y-m');
$day = $date->format('Y-m-d');
if (!isset($monthsAndDays[$month])) {
$monthsAndDays[$month] = array();
}
array_push($monthsAndDays[$month], $day);
}
return $monthsAndDays;
}
$startDate = '2023-01-01';
$endDate = '2023-12-31';
print_r(getMonthsAndDays($startDate, $endDate));