<?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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- ------------------------
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 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
------------------------
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:
173.35 ms | 405 KiB | 171 Q