PHP计算一年多少个星期和每周的开始和结束日期


Posted in PHP onJuly 01, 2014

项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务。以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享。

function get_week($year) { 

    $year_start = $year . "-01-01"; 

    $year_end = $year . "-12-31"; 

    $startday = strtotime($year_start); 

    if (intval(date('N', $startday)) != '1') { 

        $startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期 

    } 

    $year_mondy = date("Y-m-d", $startday); //获取年第一周的日期 

 

    $endday = strtotime($year_end); 

    if (intval(date('W', $endday)) == '7') { 

        $endday = strtotime("last sunday", strtotime($year_end)); 

    } 

 

    $num = intval(date('W', $endday)); 

    for ($i = 1; $i <= $num; $i++) { 

        $j = $i -1; 

        $start_date = date("Y-m-d", strtotime("$year_mondy $j week ")); 

 

        $end_day = date("Y-m-d", strtotime("$start_date +6 day")); 

 

        $week_array[$i] = array ( 

            str_replace("-", 

            ".", 

            $start_date 

        ), str_replace("-", ".", $end_day)); 

    } 

    return $week_array; 

}

函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:

$weeks = get_week(2011); 

echo '第18周开始日期:'.$weeks[18][0].''; 

echo '第18周结束日期:'.$weeks[18][1];

最后输出结果:
 
第18周开始日期:2011.05.02
第18周结束日期:2011.05.08

PHP 相关文章推荐
linux下 C语言对 php 扩展
Dec 14 PHP
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 PHP
php+mysql 实现身份验证代码
Mar 24 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
php查找任何页面上的所有链接的方法
Dec 03 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
CakePHP框架Model函数定义方法示例
Aug 04 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 PHP
详解使用php-cs-fixer格式化代码
Sep 16 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 #PHP
PHP远程采集图片详细教程
Jul 01 #PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 #PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 #PHP
PHP生成二维码的两个方法和实例
Jul 01 #PHP
PHP中使用TCPDF生成PDF文档实例
Jul 01 #PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 #PHP
You might like
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
php中执行系统命令的方法
2015/03/21 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
jquery实现图片跟随鼠标的实例
2017/10/17 jQuery
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
JS实现字符串翻转的方法分析
2018/08/31 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
python 多线程应用介绍
2012/12/19 Python
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
Python3匿名函数用法示例
2018/07/25 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
python中封包建立过程实例
2021/02/18 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
物业管理员岗位职责范文
2013/11/25 职场文书