当年的第几周

//年的第几周  

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值