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 相关文章推荐
Php+SqlServer实现分页显示
Oct 09 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
Jun 10 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
PHP 计算两个时间段之间交集的天数示例
Oct 24 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
SONY SRF-M100的电路分析
2021/03/02 无线电
谈谈PHP语法(3)
2006/10/09 PHP
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
php日历[测试通过]
2008/03/27 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
Python函数嵌套实例
2014/09/23 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
Python中类型检查的详细介绍
2017/02/13 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Python接口自动化测试的实现
2020/08/28 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
应届大学生自荐信格式
2013/09/21 职场文书
给同事的道歉信
2014/01/11 职场文书
大学学习个人的自我评价
2014/02/18 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
幼儿园感谢信
2015/01/21 职场文书
反邪教观后感
2015/06/11 职场文书
公司开业致辞
2015/07/29 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL
python神经网络 使用Keras构建RNN训练
2022/05/04 Python