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 相关文章推荐
投票管理程序
Oct 09 PHP
安装APACHE
Jan 15 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
php实现四舍五入的方法小结
Mar 03 PHP
memcache一致性hash的php实现方法
Mar 05 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
PHP的自定义模板引擎
Mar 24 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 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安全配置
2006/10/09 PHP
关于文本留言本的分页代码
2006/10/09 PHP
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
Python读取网页内容的方法
2015/07/30 Python
Python实现周期性抓取网页内容的方法
2015/11/04 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
python用requests实现http请求代码实例
2019/10/31 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
25道Java面试题集合
2013/05/21 面试题
送餐员岗位职责范本
2014/02/21 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
个人典型事迹材料
2014/12/30 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android