当年的第几周

来源:互联网 发布:数据库研究课题 编辑:程序博客网 时间:2024/04/28 02:31

//年的第几周  

echo intval(date('W',strtotime('2012-10-30')));

echo floor(((mktime (0,0,0,10,25,2008) - mktime(0,0,0,1,1,2008)))/(3600*24*7))+1,"\n";


=============================================

//取出格式如: 2014-20

$strdate=2;
$dateym="2014-52";
$arrdate= explode("-",$dateym);
//echo $arrdate[0]."+".$arrdate[1];
$year=$arrdate[0];//年份
if($strdate!=0){
  $weeknum=$arrdate[1]+$strdate+1;
}else{
    $weeknum=$arrdate[1];
}


function getWeekDate($year,$weeknum){  
  $firstdayofyear=mktime(0,0,0,1,1,$year);  
  $firstweekday=date('N',$firstdayofyear);  
  $firstweenum=date('W',$firstdayofyear);  
  if($firstweenum==1){  
      $day=(1-($firstweekday-1))+7*($weeknum-1);  
      $startdate=date('Y-m-d',mktime(0,0,0,1,$day,$year));  
      $enddate=date('Y-m-d',mktime(0,0,0,1,$day+6,$year));  
  }else{  
      $day=(9-$firstweekday)+7*($weeknum-1);  
      $startdate=date('Y-m-d',mktime(0,0,0,1,$day,$year));  
      $enddate=date('Y-m-d',mktime(0,0,0,1,$day+6,$year));  
  }  
  $datey=explode("-",$enddate);//分别取数组中的出年月日
  $weeks = floor(((mktime (0,0,0,$datey[1],$datey[2],$datey[0]) - mktime(0,0,0,1,1,$datey[0])))/(3600*24*7))+1;//取出一年中第几周
  echo $datey[0]."-". $weeks;
  //return array($startdate,$enddate,$weeks);      
}

print_r(getWeekDate($year,$weeknum));




//原始的

function getWeekDate($year,$weeknum){  
  $firstdayofyear=mktime(0,0,0,1,1,$year);  
  $firstweekday=date('N',$firstdayofyear);  
  $firstweenum=date('W',$firstdayofyear);  
  if($firstweenum==1){  
      $day=(1-($firstweekday-1))+7*($weeknum-1);  
      $startdate=date('Y-m-d',mktime(0,0,0,1,$day,$year));  
      $enddate=date('Y-m-d',mktime(0,0,0,1,$day+6,$year));  
  }else{  
      $day=(9-$firstweekday)+7*($weeknum-1);  
      $startdate=date('Y-m-d',mktime(0,0,0,1,$day,$year));  
      $enddate=date('Y-m-d',mktime(0,0,0,1,$day+6,$year));  
  }  
  return array($startdate,$enddate);      
}

0 0