回答
我不是一个PHP编码器,但是,它似乎是的strtotime你追求的。
您可以使用strtotime(“第四个星期六”),它将返回第4个星期六。
查看strtotime
文档。
编辑:
只是为了回答完整,感谢汤姆和保罗·迪克森
date('dS F',strtotime('Fourth Saturday '.date('F o')));
查找每月的第一个星期六,再用三层的数周内新增了这一点。
如果你不知道第一个星期六是什么时候(或者更确切地说不知道与某个日期名称对应的日期),你可能想看看Doomsday algorithm,我很方便地查看了另一个日期有一个类似的问题。
第四个星期六的最早日期是本月22日。所以看看22日,看看星期几是什么时候,如果不是星期六,再加上一天的日期,然后再次检查,直到找到一场比赛(最多不得不检查6天)。
(认为需要5.2)
$date = getdate();
$date-> setDate($date->format('Y'), $date->format('Y'), '1'); // 1st of month.
while ($date->format('w' != 6)
$date->modify("+1 day");
$date->modify("+21 day"); // date is now on the fourth saturday
为什么这会得到downvoted?它应该是“!=星期六”而不是“!=星期日“,但过程看起来是正确的... – 2009-02-13 17:05:01
完全错过了周六/周日的事情,tah – ShuggyCoUk 2009-02-13 17:16:13
您可以使用strtotime基础上找到一个起始日期“下周六”。如果开始日期是最早的可能前一天(21日),我们得到的答案的前一天......
//required year/month
$yyyymm="2009-01";
//find next saturday after earliest possible date
$t=strtotime("next saturday", strtotime("{$yyyymm}-21"));
//here you go!
echo "4th saturday of $yyyymm is ".strftime("%Y-%m-%d",$t)."\n";
早到了一天的任何一个月可能四重是22日(1,8,15, 22),最后可能的第4次重复是第28次(7,14,21,28)。
编辑:虽然目前还不清楚该文档中,你可以要求“第四个星期六”太 - 使用月份的0天为基础:
$t=strtotime("fourth saturday", strtotime("{$yyyymm}-00"));
或省略的基础上的时间和直接指定月份和年份:
$t=strtotime("fourth saturday feb 2009");
帽子罗宾一角“我不是一个PHP编码器”日察觉那:)
function fourth_saturday($year, $month)
{
$info = localtime(mktime(0, 0, 0, $month , 1, $year));
return 28 - $info[6];
}
- 1. strtotime认为“下个月的第一个星期日”=星期三?
- 2. 如何了解下个星期六或当前星期六的日期?
- 3. 如何获得月的星期日和星期六odoo
- 4. 使用月份日历获取选定星期的星期六日期值
- 5. 本月的第一个[星期一],本月的第二个[星期四]等。德尔福
- 6. 在Python中查找本月的第三个星期四
- 7. 如何获得“每个月的第一个星期四”的DatePeriod?
- 8. 回声每月第三个星期四开始2016年3月3日
- 9. 只选择每个月的第四个星期天
- 10. 获取每个11月的第四个星期三R
- 11. 如何查看星期六/星期日?
- 12. 忽略星期六和星期日
- 13. Schedule Cron跳过每个月的第一个星期六
- 14. 显示整个星期的开始日期为星期六
- 15. PHP星期一星期一和星期六日期问题
- 16. SQL Server 2012-星期日期星期六到星期五
- 17. SQL Server查询获得第二个星期四的月份
- 18. 如何使用PHP检查本月的第一个星期六?
- 19. 如何计算当月的星期日?
- 20. 每个星期四启用日期,但禁用某些星期四
- 21. 创建一个选择与未来4个月的星期六的日期
- 22. 开始星期日的第一周的星期几,星期六的星期的最后一天结束
- 23. 特定年份和月份的星期六和星期日的数量
- 24. 不要在日历中显示星期六和星期日javascript
- 25. 如果周六或周日落在星期一或星期日
- 26. 下一个星期四的日子
- 27. 如何让每个月的第二个星期天在两个日期之间?
- 28. 需要获取python中给定月份的上个星期四的日期吗?
- 29. 6 SSRS日历每个月的第7个星期日期范围
- 30. 找到第三个星期日每个月给两个日期之间
顺便说一下,这将是二月和三月二十八号。 – kmkaplan 2009-02-13 17:40:04
不是偶然的,因为2月有28天可以被7整除。当然不是闰年。 – 2009-11-29 14:03:48