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.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
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:00:11 Until: 0 years, 0 months, 1 days 06:00:11 Warning: Cannot compare DateInterval objects in /in/T1FO0 on line 17 not ready to send.
Output for 5.6.28, 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 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:00:11 Until: 0 years, 0 months, 1 days 06:00:11 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:24 Until: 0 years, 4 months, 9 days 03:11:24 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 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 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:46 Until: 0 years, 2 months, 6 days 12:43:46 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:26 Until: 0 years, 2 months, 10 days 18:57:26 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 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 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 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 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 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 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:48 Until: 0 years, 2 months, 7 days 15:56:48 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 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 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 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 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 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 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 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:25 Until: 0 years, 3 months, 15 days 12:23:25 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 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:49 Until: 0 years, 4 months, 10 days 16:06:49 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 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:03 Until: 0 years, 1 months, 25 days 22:25:03 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 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:08 Until: 0 years, 2 months, 8 days 19:08:08 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 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:07 Until: 0 years, 3 months, 4 days 22:13:07 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:41 Until: 0 years, 3 months, 9 days 01:44:41 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 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 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:19 Until: 0 years, 3 months, 16 days 17:04:19 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:34 Until: 0 years, 4 months, 11 days 23:32:34 ready to send

preferences:
187.36 ms | 401 KiB | 194 Q