3v4l.org

run code in 300+ PHP versions simultaneously
<?php $lastDate = '1452504837'; $interval = 'P0Y0M1D'; $lastJob = new \Datetime(); $lastJob->setTimestamp($lastDate); echo 'Last Sent: '.$lastJob->format('Y/m/d')."\n"; $interval = new DateInterval($interval); echo 'Interval: '.$interval->format('%y years, %m months, %d days %H:%I:%S')."\n"; $currentJob = new \Datetime(); echo 'Today: '.$currentJob->format('Y/m/d')."\n\n"; $sinceLastJob = $lastJob->diff($currentJob); echo 'Since: '.$sinceLastJob->format('%y years, %m months, %d days %H:%I:%S')."\n"; $untilNextJob = $lastJob->add($interval)->diff($currentJob); echo 'Until: '.$untilNextJob->format('%y years, %m months, %d days %H:%I:%S')."\n"; if ($sinceLastJob > $interval) { echo 'ready to send'; } else { echo 'not ready to send.'; }
Output for 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/01/13 Since: 0 years, 0 months, 2 days 06:01:54 Until: 0 years, 0 months, 1 days 06:01:54 Warning: Cannot compare DateInterval objects in /in/I5g19 on line 17 not ready to send.
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 Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/01/13 Since: 0 years, 0 months, 2 days 06:01:54 Until: 0 years, 0 months, 1 days 06:01:54 Warning: Cannot compare DateInterval objects in /in/I5g19 on line 17 not ready to send.
Output for 5.6.28, 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/01/13 Since: 0 years, 0 months, 2 days 06:01:54 Until: 0 years, 0 months, 1 days 06:01:54 not ready to send.
Output for 7.0.6
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/05/21 Since: 0 years, 4 months, 10 days 03:11:23 Until: 0 years, 4 months, 9 days 03:11:23 not ready to send.
Output for 7.0.5
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/03 Since: 0 years, 2 months, 22 days 23:09:42 Until: 0 years, 2 months, 21 days 23:09:42 not ready to send.
Output for 7.0.4
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/10 Since: 0 years, 1 months, 28 days 11:16:44 Until: 0 years, 1 months, 27 days 11:16:44 not ready to send.
Output for 7.0.3
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/18 Since: 0 years, 2 months, 7 days 12:43:45 Until: 0 years, 2 months, 6 days 12:43:45 not ready to send.
Output for 7.0.2
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/23 Since: 0 years, 2 months, 11 days 18:57:25 Until: 0 years, 2 months, 10 days 18:57:25 not ready to send.
Output for 7.0.1
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/24 Since: 0 years, 2 months, 12 days 22:01:33 Until: 0 years, 2 months, 11 days 22:01:33 not ready to send.
Output for 7.0.0
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/27 Since: 0 years, 2 months, 15 days 23:54:37 Until: 0 years, 2 months, 14 days 23:54:37 not ready to send.
Output for 5.6.21
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/05/02 Since: 0 years, 3 months, 21 days 06:03:42 Until: 0 years, 3 months, 20 days 06:03:42 not ready to send.
Output for 5.6.20
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/10 Since: 0 years, 2 months, 29 days 22:11:56 Until: 0 years, 2 months, 28 days 22:11:56 not ready to send.
Output for 5.6.19
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/08 Since: 0 years, 1 months, 25 days 19:26:07 Until: 0 years, 1 months, 24 days 19:26:07 not ready to send.
Output for 5.6.18
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/15 Since: 0 years, 2 months, 4 days 04:24:10 Until: 0 years, 2 months, 3 days 04:24:10 not ready to send.
Output for 5.6.17
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/20 Since: 0 years, 2 months, 8 days 15:56:47 Until: 0 years, 2 months, 7 days 15:56:47 not ready to send.
Output for 5.6.16
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/28 Since: 0 years, 2 months, 17 days 00:44:22 Until: 0 years, 2 months, 16 days 00:44:22 not ready to send.
Output for 5.6.15
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/29 Since: 0 years, 2 months, 18 days 01:33:59 Until: 0 years, 2 months, 17 days 01:33:59 not ready to send.
Output for 5.6.14
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/14 Since: 0 years, 3 months, 3 days 07:16:25 Until: 0 years, 3 months, 2 days 07:16:25 not ready to send.
Output for 5.6.13
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/15 Since: 0 years, 3 months, 4 days 07:55:23 Until: 0 years, 3 months, 3 days 07:55:23 not ready to send.
Output for 5.6.12
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/20 Since: 0 years, 3 months, 8 days 22:24:53 Until: 0 years, 3 months, 7 days 22:24:53 not ready to send.
Output for 5.6.11
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/24 Since: 0 years, 3 months, 13 days 04:51:17 Until: 0 years, 3 months, 12 days 04:51:17 not ready to send.
Output for 5.6.10
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/25 Since: 0 years, 3 months, 14 days 06:56:52 Until: 0 years, 3 months, 13 days 06:56:52 not ready to send.
Output for 5.6.9
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/27 Since: 0 years, 3 months, 16 days 12:23:24 Until: 0 years, 3 months, 15 days 12:23:24 not ready to send.
Output for 5.6.8
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/30 Since: 0 years, 3 months, 18 days 20:52:09 Until: 0 years, 3 months, 17 days 20:52:09 not ready to send.
Output for 5.5.35
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/05/23 Since: 0 years, 4 months, 11 days 16:06:48 Until: 0 years, 4 months, 10 days 16:06:48 not ready to send.
Output for 5.5.34
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/11 Since: 0 years, 3 months, 0 days 00:25:49 Until: 0 years, 2 months, 30 days 00:25:49 not ready to send.
Output for 5.5.33
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/09 Since: 0 years, 1 months, 26 days 22:25:02 Until: 0 years, 1 months, 25 days 22:25:02 not ready to send.
Output for 5.5.32
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/17 Since: 0 years, 2 months, 6 days 08:21:57 Until: 0 years, 2 months, 5 days 08:21:57 not ready to send.
Output for 5.5.31
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/03/21 Since: 0 years, 2 months, 9 days 19:08:07 Until: 0 years, 2 months, 8 days 19:08:07 not ready to send.
Output for 5.5.30
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/01 Since: 0 years, 2 months, 21 days 03:25:11 Until: 0 years, 2 months, 20 days 03:25:11 not ready to send.
Output for 5.5.29
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/17 Since: 0 years, 3 months, 5 days 22:13:06 Until: 0 years, 3 months, 4 days 22:13:06 not ready to send.
Output for 5.5.28
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/21 Since: 0 years, 3 months, 10 days 01:44:40 Until: 0 years, 3 months, 9 days 01:44:40 not ready to send.
Output for 5.5.27
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/22 Since: 0 years, 3 months, 11 days 03:22:05 Until: 0 years, 3 months, 10 days 03:22:05 not ready to send.
Output for 5.5.26
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/26 Since: 0 years, 3 months, 15 days 09:38:22 Until: 0 years, 3 months, 14 days 09:38:22 not ready to send.
Output for 5.5.25
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/04/29 Since: 0 years, 3 months, 17 days 17:04:18 Until: 0 years, 3 months, 16 days 17:04:18 not ready to send.
Output for 5.5.24
Last Sent: 2016/01/11 Interval: 0 years, 0 months, 1 days 00:00:00 Today: 2016/05/24 Since: 0 years, 4 months, 12 days 23:32:33 Until: 0 years, 4 months, 11 days 23:32:33 not ready to send.

preferences:
160.56 ms | 401 KiB | 183 Q