本文实例讲述了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 计算 给定日期 周 开始日期 结束日期