3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo "Using US/Pacific:\n"; date_default_timezone_set('US/Pacific'); $dateJan = new \DateTime('2018-01-30'); $dateMar = new \DateTime('2018-03-01'); echo "\ndateJan:" . $dateJan->format('r')."\n"; echo "\ndateMar:" . $dateMar->format('r')."\n"; echo "\nDiff Jan to Mar\n"; echo 'Diff Months: ' . (clone $dateMar)->diff((clone $dateJan))->m."\n"; echo 'Diff Days: ' . (clone $dateMar)->diff((clone $dateJan))->d."\n"; echo 'Diff Days abs: ' . (clone $dateMar)->diff((clone $dateJan))->days."\n"; echo 'Diff Hours: ' . (clone $dateMar)->diff((clone $dateJan))->h."\n"; echo "\nDiff Mar to Jan\n"; echo 'Diff Months: ' . (clone $dateJan)->diff((clone $dateMar))->m."\n"; echo 'Diff Days: ' . (clone $dateJan)->diff((clone $dateMar))->d."\n"; echo 'Diff Days abs: ' . (clone $dateJan)->diff((clone $dateMar))->days."\n"; echo 'Diff Hours: ' . (clone $dateJan)->diff((clone $dateMar))->h."\n"; echo "\nUsing Europe/Amsterdam:\n"; date_default_timezone_set('Europe/Amsterdam'); $dateJan = new \DateTime('2018-01-30'); $dateMar = new \DateTime('2018-03-01'); echo "\ndateJan:" . $dateJan->format('r')."\n"; echo "\ndateMar:" . $dateMar->format('r')."\n"; echo "\nDiff Jan to Mar\n"; echo 'Diff Months: ' . (clone $dateMar)->diff((clone $dateJan))->m."\n"; echo 'Diff Days: ' . (clone $dateMar)->diff((clone $dateJan))->d."\n"; echo 'Diff Days abs: ' . (clone $dateMar)->diff((clone $dateJan))->days."\n"; echo 'Diff Hours: ' . (clone $dateMar)->diff((clone $dateJan))->h."\n"; echo "\nDiff Mar to Jan\n"; echo 'Diff Months: ' . (clone $dateJan)->diff((clone $dateMar))->m."\n"; echo 'Diff Days: ' . (clone $dateJan)->diff((clone $dateMar))->d."\n"; echo 'Diff Days abs: ' . (clone $dateJan)->diff((clone $dateMar))->days."\n"; echo 'Diff Hours: ' . (clone $dateJan)->diff((clone $dateMar))->h."\n";

preferences:
55.37 ms | 402 KiB | 5 Q