欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php中已知年份和周数求该周的初始日期与结束日期

程序员文章站 2022-04-26 18:49:56
...

如果我已经知道年份和该年的第几周(一年有52周),求这个周的初始日期和结束日期。代码如下: 1 function GetWeekDate( $year , $week ) 2 { 3 $months = array ("1"="Jan.","2"="Feb.","3"="Mar.","4"="Apr.","5"="May.","6"="Jun.","7"="Jul.","8"="Aug."

  如果我已经知道年份和该年的第几周(一年有52周),求这个周的初始日期和结束日期。代码如下:

  

 1 function GetWeekDate( $year,$week)
 2 {
 3     $months = array("1"=>"Jan.","2"=>"Feb.","3"=>"Mar.","4"=>"Apr.","5"=>"May.","6"=>"Jun.","7"=>"Jul.","8"=>"Aug.","9"=>"Sep.","10"=>"Oct.","11"=>"Nov.","12"=>"Dec.");
 4     $time = strtotime("1 January $year", time());
 5     $day = date('w', $time);//求1月1号是第1周的哪一天,0表示星期一,6表示星期日
 6     $time += ((7*($week-1))+1-$day)*24*3600;//时间回归到该年第一周的第一天,因为1月1号并不一定是星期一
 7     $m1 = date('m', $time); 
 8     $d1 = date('d', $time);
 9     $time += 6*24*3600;//每周的初始时间与结束时间的时间间隔
10     $m2 = date('m', $time);
11     $d2 = date('d', $time);
12     return  $year." the week ".$week. 'th('.$months[(int)$m1].$d1.'-'.$months[(int)$m2].$d2.')';
13 }

测试结果:

$year=2014;

$week=7;//第七周

echo GetWeekDate($year,$week);//得到的结果是:2014 the week 7th(Feb.10-Feb.16)

  查询日历验证2014年第七周的初始时间(周一)是2014.2.10,结束时间(周日)是2014.2.16。