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 相关文章推荐
IIS6的PHP最佳配置方法
Mar 19 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
PHP中基本符号及使用方法
Mar 23 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
PHP连接SQLServer2005方法及代码
Dec 26 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
PHP中的命名空间相关概念浅析
Jan 22 PHP
PHP程序员的技术成长规划
Mar 25 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
PHP如何防止用户重复提交表单
Dec 09 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
php数据库抽象层 PDO
2011/05/07 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
2015/12/14 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
Python 错误和异常小结
2013/10/09 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
python判断正负数方式
2020/06/03 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
顶级宝石首饰网络零售商:Angara
2016/10/25 全球购物
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
行政专员工作职责
2013/12/22 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
春节请假条
2014/04/11 职场文书
五年级上册复习计划
2015/01/19 职场文书
亮剑观后感300字
2015/06/05 职场文书
学生病假条范文
2015/08/17 职场文书
演讲稿之开卷有益
2019/08/07 职场文书