3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $month=10; $year=2014; // Mantech $startDate = strtotime($month.'/1/'.$year); $stopDate = strtotime('last day of this month ',$startDate); if (date('D',$startDate)!='Sat'){ $startDate = strtotime('next saturday',$startDate); } if (date('D',$stopDate)!='Fri'){ $stopDate = strtotime('next friday',$stopDate); } echo (date('Y-m-d',$startDate).' - '.date('Y-m-d',$stopDate)."\n"); // If our startDate isn't a Monday, grab the previous Monday if (date('D',$startDate)!='Mon'){ $prevMonday = strtotime('last Monday',$startDate); } else { $prevMonday = $startDate; } // Format startweek as ISO8601 eg.2014W15 echo (date('Y-m-d',$prevMonday)."\n"); $beginWeek = date('o',$prevMonday).'W'.date('W',$prevMonday); echo ($beginWeek."\n"); echo (date('Y-m-d',strtotime($beginWeek))."\n"); $datediff=$stopDate-$startDate; $weeks=ceiling($datediff/(60*60*24*7)); echo ($weeks."\n"); for ($i=0; $i<=$weeks; $i++){ $thisWeek = strtotime($beginWeek.' +'.$i.' weeks'); echo (date('Y-m-d',$thisWeek)."\n"); $mask = ''; for ($j=0; $j<7; $j++){ $thisDay = strtotime('+'.$j.' days',$thisWeek); if ($startDate<=$thisDay or $thisDay<=$stopDate){ $mask=$mask.'1'; } else { $mask=$mask.'0'; } } echo $mask."\n"; }
Output for 7.0.0 - 7.1.0
2014-10-04 - 2014-10-31 2014-09-29 2014W40 2014-09-29 Fatal error: Uncaught Error: Call to undefined function ceiling() in /in/1v8SB:34 Stack trace: #0 {main} thrown in /in/1v8SB on line 34
Process exited with code 255.
Output for hhvm-3.12.0
2014-10-04 - 2014-10-31 2014-09-29 2014W40 2014-09-29 Fatal error: Uncaught Error: Call to undefined function ceiling() in /in/1v8SB:34 Stack trace: #0 {main}
Process exited with code 255.
Output for 5.3.0 - 5.6.28, hhvm-3.10.0
2014-10-04 - 2014-10-31 2014-09-29 2014W40 2014-09-29 Fatal error: Call to undefined function ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 5.1.3 - 5.2.17
2014-10-04 - 1970-01-02 2014-09-29 2014W40 2014-09-29 Fatal error: Call to undefined function ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 5.1.0 - 5.1.2
2014-10-04 - 1970-01-01 2014-09-29 2014W40 2014-09-29 Fatal error: Call to undefined function ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 5.0.5
2014-10-04 - 1970-01-02 2014-09-29 oW40 1970-01-01 Fatal error: Call to undefined function ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 5.0.0 - 5.0.4
2014-10-11 - 1970-01-09 2014-10-06 oW41 1970-01-01 Fatal error: Call to undefined function ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 4.4.5 - 4.4.9
2014-10-04 - 1970-01-02 2014-09-29 oW40 1970-01-01 Fatal error: Call to undefined function: ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 4.4.0 - 4.4.4
2014-10-04 - 1970-01-02 2014-09-29 oW40 1970-01-01 Fatal error: Call to undefined function: ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 4.3.2 - 4.3.11
2014-10-11 - 1970-01-09 2014-10-06 oW41 1970-01-01 Fatal error: Call to undefined function: ceiling() in /in/1v8SB on line 34
Process exited with code 255.
Output for 4.3.0 - 4.3.1
2014-10-11 - 1970-01-09 2014-10-06 oW41 1970-01-01 Fatal error: Call to undefined function: ceiling() in /in/1v8SB on line 34