ホームページ  >  記事  >  バックエンド開発  >  1年間の月曜日から金曜日までの間隔を計算します

1年間の月曜日から金曜日までの間隔を計算します

WBOY
WBOYオリジナル
2016-07-25 09:08:311290ブラウズ
  1. //year
  2. $year = date("Y");
  3. $beninTime = mktime(0,0,0,1,1,$year);
  4. $endTime = mktime(0 ,0,0,1,1,$year+1)-1;
  5. $weekArray = array();
  6. $isBegin = true;
  7. $forTime = 0;
  8. for ($time=$beninTime;$time<= $endTime;){
  9. $forTime++;
  10. $start = $end = 0;
  11. if($isBegin){
  12. //$nIndex==1 は月曜日、$nIndex==7 は日曜日を意味します
  13. $nIndex = date( " N",$time);
  14. //$mulNum=1 は月曜日が 1 日後であることを意味します,
  15. $mulNum = 0;
  16. switch ($nIndex){
  17. case 1: $mulNum =7; Break;
  18. case 2 : $ mulNum =6; ブレーク;
  19. ケース 3: $mulNum =5; ブレーク;
  20. ケース 5: $mulNum =3; ブレーク;
  21. ケース 7: $mulNum =1; Break;
  22. }
  23. }else{
  24. //第 1 週
  25. $mulNum = 7;
  26. }
  27. if($mulNum>2){
  28. $start = $time;
  29. / /金曜日時間
  30. $end = $time+($mulNum-2-1)*24*60*60;
  31. if($end>$endTime){
  32. $end = $endTime;
  33. }
  34. $weekArray[] = array(
  35. 'start'=>$start,
  36. 'end'=> $end,
  37. );
  38. if($end>=$endTime){
  39. Break;
  40. }
  41. }
  42. $time += $mulNum *24* 60*60;
  43. $isBegin = false;
  44. }
  45. echo $forTime.'
    ';
  46. foreach ($weekArray as $week){
  47. echo date("Y-m-d",$week[ 'start' ])."week".date("N",$week['start']).">>>>>>".date("Y-m-d",$week['end'] )."week".date("N",$week['end']).'
    ';
  48. }
  49. ?>
コードをコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。