<?php
$monthsAndLastDay = [
1 => 31,
2 => 28,
3 => 31,
4 => 30,
5 => 31,
6 => 30,
7 => 31,
8 => 31,
9 => 30,
10 => 31,
11 => 30,
12 => 31,
];
foreach ($monthsAndLastDay as $month => $lastDay) {
$start = (new DateTimeImmutable)->setDate(2017, $month, 1)->setTime(0, 0);
$end = (new DateTimeImmutable)->setDate(2017, $month, $lastDay)->setTime(23, 59, 59);
$diff = $end->diff($start);
echo '------------------------' . PHP_EOL;
echo 'Month: ' . $start->format('F') . PHP_EOL;
echo '$diff->d: ' . $diff->d . PHP_EOL;
echo '$diff->days: ' . $diff->days . PHP_EOL;
echo '$diff->m: ' . $diff->m . PHP_EOL;
}
- Output for 7.3.32 - 7.3.33, 8.0.13, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- ------------------------
Month: January
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: February
$diff->d: 27
$diff->days: 27
$diff->m: 0
------------------------
Month: March
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: April
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: May
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: June
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: July
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: August
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: September
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: October
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: November
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: December
$diff->d: 30
$diff->days: 30
$diff->m: 0
- Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.6 - 7.2.33, 7.3.16 - 7.3.31, 7.4.0 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30
- ------------------------
Month: January
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: February
$diff->d: 27
$diff->days: 27
$diff->m: 0
------------------------
Month: March
$diff->d: 2
$diff->days: 30
$diff->m: 1
------------------------
Month: April
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: May
$diff->d: 0
$diff->days: 30
$diff->m: 1
------------------------
Month: June
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: July
$diff->d: 0
$diff->days: 30
$diff->m: 1
------------------------
Month: August
$diff->d: 30
$diff->days: 30
$diff->m: 0
------------------------
Month: September
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: October
$diff->d: 1
$diff->days: 30
$diff->m: 1
------------------------
Month: November
$diff->d: 29
$diff->days: 29
$diff->m: 0
------------------------
Month: December
$diff->d: 0
$diff->days: 30
$diff->m: 1
preferences:
175.49 ms | 412 KiB | 5 Q