我正在寻找一个 PHP 例程来查找我们每年的家庭团聚日期,这样我就不必继续在日历上手动查找 ip 并每年在网站上输入它。
日期是五月第三个星期日之前的星期六。
我进行了搜索,但没有找到关于如何在指定月份中找到第三个星期日的答案。我只发现了一些关于如何找到本月第一个太阳的东西。不同的问题。
您可以使用strtotime()
相对日期格式。
你可以使用内置的 php strtotime
<?php
$s = 'Monday, September 28, 2009';
$time = strtotime($s);
$start = strtotime('last sunday, 12pm', $time);
$end = strtotime('next saturday, 11:59am', $time);
$format = 'l, F j, Y g:i A';
$start_day = date($format, $start);
$end_day = date($format, $end);
header('Content-Type: text/plain');
echo "Input: $s\nOutput: $start_day - $end_day";
?>
所以实际上你可以使用 3 次“下周日”,而每次更新$time
到新的
我认为应该这样做:
$time = strtotime('may 1 +3 sunday');
[编辑] 哎呀,忘了回去一天:
$time = strtotime('may 1 +3 sunday -1 day');
[Edit2] 循环播放,每年:
for ($year = 2013; $year <= 2020; $year++) {
echo date('r', strtotime("may $year +3 sunday -1 day")), "\n";
}
输出:
Sat, 18 May 2013 00:00:00 -0400
Sat, 17 May 2014 00:00:00 -0400
Sat, 16 May 2015 00:00:00 -0400
Sat, 14 May 2016 00:00:00 -0400
Sat, 20 May 2017 00:00:00 -0400
Sat, 19 May 2018 00:00:00 -0400
Sat, 18 May 2019 00:00:00 -0400
Sat, 16 May 2020 00:00:00 -0400