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 相关文章推荐
Oracle Faq(Oracle的版本)
Oct 09 PHP
一个php作的文本留言本的例子(四)
Oct 09 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
PHP两种快速排序算法实例
Feb 15 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
基于php判断客户端类型
Oct 14 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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
用Flash图形化数据(一)
2006/10/09 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
详解Python3中的Sequence type的使用
2015/08/01 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
使用Python生成XML的方法实例
2017/03/21 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
后勤部长岗位职责
2013/12/14 职场文书
商务代表岗位职责
2015/02/15 职场文书
保护环境的宣传语
2015/07/13 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
mysql自增长id用完了该怎么办
2022/02/12 MySQL
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL