[ create a new paste ] login | about

Link: http://codepad.org/H0vIdNn0    [ raw code | output | fork ]

PHP, pasted on Feb 5:
<?php
$st = '2013-01-01';
$et ='2013-02-28';
$start_date = date('Y-m-d', strtotime($st));
$end_date = date('Y-m-d', strtotime($et));
$end_date1 = date('Y-m-d', strtotime($et. '+ 6 days'));

$weekfrom = array();
$weekto = array();

for($date = $start_date; $date <= $end_date1; $date = date('Y-m-d', strtotime($date. ' + 14 days')))
{
    
    $week =  date('W', strtotime($date));
    $year =  date('Y', strtotime($date));
    $from = date("Y-m-d", strtotime("{$year}-W{$week}+1")); //Returns the date of monday in week
    if($from < $start_date) $from = $start_date;
    $to = date("Y-m-d", strtotime("{$year}-W{$week}-6"));   //Returns the date of sunday in week
    if($to > $end_date)
     {
        $to = $end_date;       
        
     }
    if($from < $to)
    {
    array_push($weekfrom,$from);
    array_push($weekto,$to);
    }
   
}
$n = count($weekfrom);

for($i = 0;$i<$n;$i++)
{
  echo "Start Date-->".$weekfrom[$i];
  echo " End Date -->".$weekto[$i]."\n";
}


?>


Output:
1
2
3
4
5
Start Date-->2013-01-01 End Date -->2013-01-05
Start Date-->2013-01-13 End Date -->2013-01-19
Start Date-->2013-01-27 End Date -->2013-02-02
Start Date-->2013-02-10 End Date -->2013-02-16
Start Date-->2013-02-24 End Date -->2013-02-28


Create a new paste based on this one


Comments: