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 相关文章推荐
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 PHP
php session 写入数据库
Feb 13 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
实例讲解PHP表单处理
2019/02/15 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
jquery禁用右键示例
2014/04/28 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
vue template中slot-scope/scope的使用方法
2018/09/06 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Python求解任意闭区间的所有素数
2018/06/10 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
python交互模式基础知识点学习
2020/06/18 Python
python设置表格边框的具体方法
2020/07/17 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
中国旅游网站:同程旅游
2016/09/11 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
小学三年级学生评语
2014/04/22 职场文书
打架检讨书
2015/01/27 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS