<?php
$date1 = new \DateTime('2006-04-12T12:30:00');
$date2 = new \DateTime('2006-04-14T11:30:00');
//determine what interval should be used - can change to weeks, months, etc
$interval = new \DateInterval('PT1H');
//create periods every hour between the two dates
$periods = new \DatePeriod($date1, $interval, $date2);
//count the number of objects within the periods
$hours = iterator_count($periods);
echo $hours . ' hours';
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
47 hours
Output for 5.2.0 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 3
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 7
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 10
Fatal error: Class 'DateInterval' not found in /in/Vom6N on line 7
Process exited with code 255.
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 3
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 7
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 10
Fatal error: Class 'DateTime' not found in /in/Vom6N on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 3
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 7
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 10
Fatal error: Cannot instantiate non-existent class: datetime in /in/Vom6N on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 3
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 7
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Vom6N on line 10
Fatal error: Cannot instantiate non-existent class: datetime in /in/Vom6N on line 3