PHP 获取某年第几周的开始日期和结束日期的实例

yipeiwu_com5年前PHP代码库

实例如下所示:

/** 
 * 获取某年第几周的开始日期和结束日期 
 * @param int $year 
 * @param int $week 第几周; 
 */ 
 public function weekday($year,$week=1){ 
  $year_start = mktime(0,0,0,1,1,$year); 
  $year_end = mktime(0,0,0,12,31,$year); 
  // 判断第一天是否为第一周的开始 
  if (intval(date('W',$year_start))===1){ 
   $start = $year_start;//把第一天做为第一周的开始 
  }else{ 
   $week++; 
   $start = strtotime('+1 monday',$year_start);//把第一个周一作为开始 
  } 
  // 第几周的开始时间 
  if ($week===1){ 
   $weekday['start'] = $start; 
  }else{ 
   $weekday['start'] = strtotime('+'.($week-0).' monday',$start); 
  } 
  // 第几周的结束时间 
  $weekday['end'] = strtotime('+1 sunday',$weekday['start']); 
  if (date('Y',$weekday['end'])!=$year){ 
   $weekday['end'] = $year_end; 
  } 
  return $weekday; 
 } 
 /** 
 * 计算一年有多少周,每周从星期一开始, 
 * 如果最后一天在周四后(包括周四)算完整的一周,否则不计入当年的最后一周 
 * 如果第一天在周四前(包括周四)算完整的一周,否则不计入当年的第一周 
 * @param int $year 
 * return int 
 */ 
 public function week($year){ 
  $year_start = mktime(0,0,0,1,1,$year); 
  $year_end = mktime(0,0,0,12,31,$year); 
  if (intval(date('W',$year_end))===1){ 
   return date('W',strtotime('last week',$year_end)); 
  }else{ 
   return date('W',$year_end); 
  } 
 } 

以上这篇PHP 获取某年第几周的开始日期和结束日期的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

php模块memcache和memcached区别分析

1.目前大多数php环境里使用的都是不带d的memcache版本,这个版本出的比较早,是一个原生版本,完全在php框架内开发的。与之对应的带d的memcached是建立在libmemca...

PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例

本文实例讲述了PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法。分享给大家供大家参考,具体如下: 1、如何在php中把驼峰样式的字符串转换成下划线样式的字符串。例:输入...

PHP获取表单所有复选框的值的方法

通常来说,php中总是只获取最后一个复选框的值,那么如何才能获取所有复选框的值? 解决办法如下: form表单的部分代码如下: <input type="checkbox" n...

PHP 错误处理机制

PHP 错误处理机制

在日常的项目开发过程中,总是会出现一些我们意想不到的异常错误,如果我们对此没有进行相对完善的处理,那么程序看上去也很不专业,也很可能就会成为别人攻击系统的有效信息;有些错误异常会终止脚本...

php生成zip文件类实例

本文实例讲述了php生成zip文件类。分享给大家供大家参考。具体如下: <?php /* By: Matt Ford Purpose: Basic cla...