3v4l.org

run code in 300+ PHP versions simultaneously
<?php $default = "2001-01-01 12:34:56"; $date='2018-06-29 00:00:00'; $startDate=(new DateTime($default))->setISODate(date('Y',strtotime($date)),date('W',strtotime($date)))->format('Y-m-d H:i:s'); $endDate=(new DateTime($default))->setISODate(date('Y',strtotime($date)), date('W',strtotime($date)), 7)->format('Y-m-d H:i:s'); $startTimestamp = (new DateTime($default))->setISODate(date('Y',strtotime($date)),date('W',strtotime($date)))->getTimestamp(); echo 'input = '.$date; echo "\nstrtotime = ".strtotime($date); echo "\nsetISODate->getTimestamp = "; echo $startTimestamp; echo "\nstartDate = ".$startDate."\nendDate = ".$endDate;
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33, 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
input = 2018-06-29 00:00:00 strtotime = 1530223200 setISODate->getTimestamp = 1529922896 startDate = 2018-06-25 12:34:56 endDate = 2018-07-01 12:34:56
Output for 7.3.32 - 7.3.33, 8.0.13
input = 2018-06-29 00:00:00 strtotime = 1530230400 setISODate->getTimestamp = 1529930096 startDate = 2018-06-25 12:34:56 endDate = 2018-07-01 12:34:56

preferences:
147.29 ms | 407 KiB | 5 Q