3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $lastDate = '1452699936'; $interval = 'P0Y0M1D'; //create objects from strings $interval = new \DateInterval($interval); echo 'Interval: '.$interval->format('%y years, %m months, %d days')."\n"; //last sent $lastJob = new \Datetime(); $lastJob->setTimestamp($lastDate); //las sent + interval $nextJob = new \Datetime(); $nextJob->setTimestamp($lastDate); $nextJob->add($interval); //now $currentJob = new \Datetime(); echo 'Last Sent: '.$lastJob->format('Y/m/d'). ' | Next Job: '.$nextJob->format('Y/m/d'). ' | Today: '.$currentJob->format('Y/m/d')."\n"; if ($nextJob > $currentJob) { echo 'not ready to send.'; } else { echo 'ready to send'; }
based on Lb5F7
Output for 5.3.21 - 5.4.45, 5.6.28, 7.0.20 - 7.2.0
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/01/13 not ready to send.
Output for 7.0.6
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/05/21 ready to send
Output for 7.0.5
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/03 ready to send
Output for 7.0.4
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/10 ready to send
Output for 7.0.3
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/18 ready to send
Output for 7.0.2
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/23 ready to send
Output for 7.0.1
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/24 ready to send
Output for 7.0.0
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/27 ready to send
Output for 5.6.21
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/05/02 ready to send
Output for 5.6.20
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/10 ready to send
Output for 5.6.19
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/08 ready to send
Output for 5.6.18
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/15 ready to send
Output for 5.6.17
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/20 ready to send
Output for 5.6.16
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/28 ready to send
Output for 5.6.15
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/29 ready to send
Output for 5.6.14
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/14 ready to send
Output for 5.6.13
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/15 ready to send
Output for 5.6.12
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/20 ready to send
Output for 5.6.11
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/24 ready to send
Output for 5.6.10
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/25 ready to send
Output for 5.6.9
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/27 ready to send
Output for 5.6.8
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/30 ready to send
Output for 5.5.35
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/05/23 ready to send
Output for 5.5.34
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/11 ready to send
Output for 5.5.33
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/09 ready to send
Output for 5.5.32
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/17 ready to send
Output for 5.5.31
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/03/21 ready to send
Output for 5.5.30
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/01 ready to send
Output for 5.5.29
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/17 ready to send
Output for 5.5.28
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/21 ready to send
Output for 5.5.27
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/22 ready to send
Output for 5.5.26
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/26 ready to send
Output for 5.5.25
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/04/29 ready to send
Output for 5.5.24
Interval: 0 years, 0 months, 1 days Last Sent: 2016/01/13 | Next Job: 2016/01/14 | Today: 2016/05/24 ready to send