/** 

 * 获取某年第几周的开始日期和结束日期 

 * @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 获取某年第几周的开始日期和结束日期的实例的更多相关文章

  1. PHP获取一年有多少周和每周开始和结束日期

    /*PHP获取当前日期是第几周和本周开始日期和本周结束日期*/ //$now = '2018-11-13';周二 public function getNowTimeInfo($now) { $str ...

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

    http://blog.csdn.net/qq_27080247/article/details/50835956 /** * 获取某年第几周的开始日期和结束日期 * @param int $year ...

  3. PHP获取一年有几周以及每周开始日期和结束日期

    最近接了一个项目,其中有一需求是用php获取一年有几周以及每周开始日期和接触日期.在网上找些资料没有合适的,于是自己做了一份,下面通过两种方式实现PHP获取一年有几周以及每周开始日期和结束日期 代码一 ...

  4. c# 获取一年中的周/根据一年中的第几周获取该周的开始日期与结束日期

    /// <summary> /// 获取一年中的周 /// </summary> /// <param name="dt">日期</par ...

  5. PHP计算每月几周,每周的开始结束日期

    PHP计算每月几周,每周的开始结束日期 因为项目中需要一个每周工作计算的功能,具体日期的算法是,把每月拆分成几个周,最后一个星期这个月份的天数不够就补上下个月的. 列如今天8月27星期一,这个月有31 ...

  6. PHP计算一年有多少周,每周开始日期和结束日期

    一年有多个周,每周的开始日期和结束日期 参考代码一:[正在使用的版本] <?php header("Content-type:text/html;charset=utf-8" ...

  7. PHP:获取指定日期所在月的开始日期与结束日期

    /** * 获取指定日期所在月的开始日期与结束日期 * @param string $date * @param boolean 为true返回开始日期,否则返回结束日期 * @return arra ...

  8. JS获取本周、本季度、本月、上月的开始日期、结束日期

    /** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date();                    //当前日期 var nowDayOfWeek = ...

  9. JS获取本周、本季度、本月、上月、本年的开始日期、结束日期

    /** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期  var nowDayOfWeek = now.getDay(); //今 ...

随机推荐

  1. 用好SVN与Git,版本管理都不是问题

    介绍一下SVN SVN:代码控制器(版本控制器),主要是为了多人协同开发项目,管理代码.也可以管理个人代码.也叫程序界的”后悔药“. SVN(是subversion的简称)是近年来一款基于C/S架构的 ...

  2. 5 vue-cli整合axios的几种方法

    vue-cli配置axios https://www.cnblogs.com/rinzoo/p/7880525.html https://www.cnblogs.com/XHappyness/p/76 ...

  3. codeforces4A

    Watermelon CodeForces - 4A Qingyu有一个简单的问题想让你解决. 输入一个数,如果它是2,或者它是奇数,输出NO,否则输出YES. 很简单吧,因此你应该很快解决. 输入 ...

  4. 知乎网的CSS命名规律研究

    笔者是一名Java程序员,前端css和图片本不是我的工作,亦不是我的强项.但很多时候,公司并没有合适的美工,只有自己动手.一般的css技术,倒是没有问题,定位,盒子,浮动,布局等等,都能做.但每每完成 ...

  5. spring hibernate实现动态替换表名(分表)

    1.概述 其实最简单的办法就是使用原生sql,如 session.createSQLQuery("sql"),或者使用jdbcTemplate.但是项目中已经使用了hql的方式查询 ...

  6. 手动生成moc文件

    在VS中写Qt项目时,手动添加了一个类,由于要用到信号槽,所以需要生成相应的moc文件.写好信号槽以后,在类里面第一行应该写上Q_OBJECT关键字,编译项目会提示无法找到moc_XXX.cpp文件. ...

  7. php session 登录退出验证

    login.html 负责收集用户填写的登录信息 <html><head><title></title></head><body> ...

  8. Qt error ------ 'XXX' has not been declared

    1.头文件没加 2.调用函数者的头文件在XXX头文件的下方

  9. python获取指定目录下所有文件名os.walk和os.listdir

    python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...

  10. 【前端安全】JavaScript防XSS攻击

    什么是XSS XSS(Cross Site Scripting),跨站脚本攻击,是一种允许攻击者在另外一个用户的浏览器中执行恶意代码脚本的脚本注入式攻击.本来缩小应该是CSS,但为了和层叠样式(Cas ...