PHP获取一年中每个星期的开始和结束日期的方法


Posted in PHP onFebruary 12, 2015

本文实例讲述了PHP获取一年中每个星期的开始和结束日期的方法。分享给大家供大家参考。具体分析如下:

最近项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务。以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享。
以下是一段通过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("nextmonday",strtotime($year_start));
//获取年第一周的日期 
} 
$year_mondy = date("Y-m-d", $startday);//获取年第一周的日期 
$endday = strtotime($year_end); 
if (intval(date('W', $endday)) == '7') { 
$endday=strtotime("lastsunday",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];

最后输出结果:

1. 第18周开始日期:2011.05.02 
2. 第18周结束日期:2011.05.08

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
我用php+mysql写的留言本
Oct 09 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php实现的ping端口函数实例
Nov 12 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 PHP
php微信支付之公众号支付功能
May 30 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
php模拟post提交数据的方法
Feb 12 #PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 #PHP
PHP进程同步代码实例
Feb 12 #PHP
PHP CURL 内存泄露问题解决方法
Feb 12 #PHP
PHP中捕获超时事件的方法实例
Feb 12 #PHP
php单例模式示例分享
Feb 12 #PHP
PHP 正则表达式小结
Feb 12 #PHP
You might like
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
在PHP中使用redis
2013/11/04 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
php session的锁和并发
2016/01/22 PHP
php微信开发自定义菜单
2016/08/27 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
python33 urllib2使用方法细节讲解
2013/12/03 Python
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python中的Django基本命令实例详解
2018/07/15 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python动态视频下载器的实现方法
2019/09/16 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
3个CCIE对一个工程师的面试题
2012/05/06 面试题
四川成都导游欢迎词
2014/01/18 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
内勤主管岗位职责
2014/04/03 职场文书
手机被没收的检讨书
2014/10/04 职场文书
新学期家长寄语2016
2015/12/03 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
创业计划书之养殖业
2019/10/11 职场文书
redis数据结构之压缩列表
2022/03/21 Redis