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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
Apr 12 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
Oct 13 PHP
php支付宝系列之电脑网站支付
May 30 PHP
PHP实现简单日历类编写
Aug 28 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
php更新修改excel中的内容实例代码
2014/02/26 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP整合PayPal支付
2015/06/11 PHP
php简单防盗链实现方法
2015/07/29 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
Prototype Template对象 学习
2009/07/19 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
KnockoutJs快速入门教程
2016/05/16 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python列表推导式的使用方法
2013/11/21 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
PyQt5实现拖放功能
2018/04/25 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
python模拟实现斗地主发牌
2020/01/07 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
土木工程专业推荐信
2014/02/19 职场文书
安全隐患整改报告
2014/11/06 职场文书
工作失职检讨书范文
2015/05/05 职场文书
七年级作文之环保作文
2019/10/17 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python