fork download
  1. <?php
  2.  
  3. function diff($datetime1, $datetime2) {
  4. $dt_epoch_days= floor(date('U',strtotime($datetime1))/(60*60*24));
  5. $now_epoch_days= floor(date('U', strtotime($datetime2))/(60*60*24));
  6. return $now_epoch_days-$dt_epoch_days;
  7. }
  8.  
  9. function dateDifference($datetime1, $datetime2, $differenceFormat = '%y year(s) %m month(s) %d day(s) %H:%i:%s' )
  10. {
  11. $datetime1 = date_create($datetime1);
  12. $datetime2 = date_create($datetime2);
  13. $interval = date_diff($datetime1, $datetime2);
  14.  
  15. return $interval->format($differenceFormat);
  16.  
  17. }
  18.  
  19. $tests = [
  20. ['2025-03-09 01:00', '2025-03-10 4:00'],
  21. ['2025-11-02 01:00', '2025-11-03 4:00'],
  22. ];
  23.  
  24. foreach ($tests as $test) {
  25. [$datetime1, $datetime2] = $test;
  26. echo $datetime1, ' - ', $datetime2, ': ', diff($datetime1, $datetime2), " days; ",dateDifference($datetime1, $datetime2),"\n";
  27. }
Success #stdin #stdout 0.04s 25816KB
stdin
Standard input is empty
stdout
2025-03-09 01:00 - 2025-03-10 4:00: 1 days; 0 year(s) 0 month(s) 1 day(s) 03:0:0
2025-11-02 01:00 - 2025-11-03 4:00: 1 days; 0 year(s) 0 month(s) 1 day(s) 03:0:0