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 相关文章推荐
模板引擎Smarty深入浅出介绍
Dec 06 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
PHP中的错误处理、异常处理机制分析
May 07 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
PHP中的一些常用函数收集
May 26 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
PHP学习笔记之session
May 06 PHP
PHP实现微信退款功能
Oct 02 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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
极典R601SW收音机
2021/03/02 无线电
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
php跨服务器访问方法小结
2015/05/12 PHP
分享3个php获取日历的函数
2015/09/25 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP线程的内存回收问题
2016/07/08 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
PHP7变量处理机制修改
2021/03/09 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
深入探究node之Transform
2017/07/20 Javascript
jQuery中可见性过滤器简单用法示例
2018/03/31 jQuery
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
Python本地与全局命名空间用法实例
2015/06/16 Python
Python 变量类型详解
2018/10/10 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python内置模块collections知识点总结
2019/12/19 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
html5 标签
2009/07/16 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
企划专员岗位职责
2013/12/09 职场文书
十岁生日父母答谢词
2014/01/18 职场文书
创建文明学校实施方案
2014/03/11 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript