0

我正在寻找一个 PHP 例程来查找我们每年的家庭团聚日期,这样我就不必继续在日历上手动查找 ip 并每年在网站上输入它。

日期是五月第三个星期日之前的星期六。

我进行了搜索,但没有找到关于如何在指定月份中找到第三个星期日的答案。我只发现了一些关于如何找到本月第一个太阳的东西。不同的问题。

4

3 回答 3

2

您可以使用strtotime()相对日期格式

于 2013-04-23T20:26:10.180 回答
0

你可以使用内置的 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到新的

于 2013-04-23T20:27:31.123 回答
0

我认为应该这样做:

$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
于 2013-04-23T20:28:13.337 回答