当前位置: 首页 > 编程笔记 >

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

宁良平
2023-03-14
本文向大家介绍php计算给定日期所在周的开始日期和结束日期示例,包括了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计算指定日期所在周的开始和结束日期的方法,包括了PHP计算指定日期所在周的开始和结束日期的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP计算指定日期所在周的开始和结束日期的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍php获取本周开始日期和结束日期的方法,包括了php获取本周开始日期和结束日期的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php获取本周开始日期和结束日期的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。

  • 问题内容: 以下是我用来计算给定月份的星期开始日期和结束日期的代码。假设周开始日期为MONDAY,周结束日期为SUNDAY。例如,2013年1月将有5个星期。如果月份从星期日开始- 忽略该天 2013年1月第一周-2012年12月31日至2013年1月6日第二周-2013年1月7日至2013年1月13日第三周-2013年1月14日至2013年1月20日第四周-21日-2013至2013年1月27日

  • 问题内容: 我想检查日期是否在开始日期和结束日期之间。 我添加了一个where子句 但问题在于它不包含“ 2010-04-15”。 它应该包括结束日期,我该怎么办? 请帮我 问候, 潘卡 问题答案: 明确指定时间部分:

  • 问题内容: 我正在尝试使用周日作为开始日期以及参考日期(例如)来获取星期范围,但是我似乎无法弄清楚。 例如,如果我将$ date设置为2009-05-01,则将获得2009-04-26和2009-05-02。2009-05-10将产生2009-05-10和2009-05-16。我当前的代码如下所示(我不记得我从何处提起它,因为我忘记在评论中放下网址): 我意识到它所做的只是将当前日期增加了7天。你

  • 问题内容: 如果可能的话,在以下情况下,我希望使用joda或非joda解决方案 假设我的一周从2012年5月2日开始,给定的当前日期为02/22/2011。我需要计算给定当前日期的星期开始和结束日期。因此,我的解决方案的星期应该从02/19开始,而星期在02/25结束。为简单起见,我将我的工作日设置为02/05/2011,但是可能是任何一天,我的工作日始终为7天。 我现有的代码如下,但似乎无法按预