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 相关文章推荐
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
php输出表格的实现代码(修正版)
Dec 29 PHP
如何用php获取文件名后缀
Jun 09 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
Jun 23 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
Jun 26 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 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 常用字符串函数总结
2008/03/15 PHP
一个PHP的String类代码
2010/04/20 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
Laravel下生成验证码的类
2017/11/15 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
公司薪酬管理制度
2014/01/31 职场文书
公司聘任书模板
2014/03/29 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
医院院务公开实施方案
2014/05/03 职场文书
家长学校工作方案
2014/05/07 职场文书
接待员岗位职责
2015/02/13 职场文书
小学班级标语口号大全
2015/12/26 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android