php计算给定日期所在周的开始日期和结束日期示例

yipeiwu_com5年前PHP代码库

本文实例讲述了php计算给定日期所在周的开始日期和结束日期。分享给大家供大家参考,具体如下:

<?php
/**
 * 取得给定日期所在周的开始日期和结束日期
 * @param string $gdate 日期,默认为当天,格式:YYYY-MM-DD
 * @param int $weekStart 一周以星期一还是星期天开始,0为星期天,1为星期一
 * @return array 数组array( "开始日期 ",  "结束日期");
 */
function getAWeekTimeSlot($gdate = '', $weekStart = 0) {
 if (! $gdate){
 $gdate = date ( "Y-m-d" );
 }
 $w = date ( "w", strtotime ( $gdate ) ); //取得一周的第几天,星期天开始0-6
 $dn = $w ? $w - $weekStart : 6; //要减去的天数
 $st = date ( "Y-m-d", strtotime ( "$gdate  - " . $dn . "  days " ) );
 $en = date ( "Y-m-d", strtotime ( "$st  +6  days " ) );
 return array ($st, $en ); //返回开始和结束日期
}
$timeSlot=getAWeekTimeSlot('2017-01-24',1);
echo "Week Start:{$timeSlot[0]}--->Week End: {$timeSlot[1]} ";
?>

运行结果如下:

Week Start:2017-01-23--->Week End: 2017-01-29

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例

本文实例讲述了PHP操作redis实现的分页列表,新增,删除功能封装类与用法。分享给大家供大家参考,具体如下: <?php /* * redis 分页数据类库 */...

php仿ZOL分页类代码

php仿ZOL分页类代码

复制代码 代码如下:<?php /** * 功能:分页类 * 作者:phpox * 时间:Sat Jul 14 18:15:02 CST 2007 */ defined('PH...

探讨:如何通过stats命令分析Memcached的内部状态

Memcached有个stats命令,通过它可以查看Memcached服务的许多状态信息。使用方法如下:先在命令行直接输入telnet 主机名端口号,连接到memcached服务器,然后...

php设计模式之适配器模式原理、用法及注意事项详解

本文实例讲述了php设计模式之适配器模式原理、用法及注意事项。分享给大家供大家参考,具体如下: 在这个有没有对象都要高呼“面向对象”的年代,掌握面向对象会给我们带来意想不到的方便。学编程...

php邮箱地址正则表达式验证

我们最经常遇到的验证,就是电子邮件地址验证。网站上常见。各种网页脚本也都常用“正则表达式”(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法。有的还能...