用PHP获取下周一的日期(包括今天)


Get next monday date in PHP (including today)

我正在创建一个基于日期的PHP页面,该页面将获得下周一的日期。

我的代码片段如下-我使用DateTime和modify方法获得下周一的日期,但我需要包括的是,如果今天的日期是周一,我想选择它(因为它只选择下周一,不包括今天。

$startDate = new DateTime();
$startDate->modify('next monday')->format('d-m-Y');

如果今天是星期一,我该如何更改,使其使用今天的日期,而不是之后的下一个星期一?

带日期();您可以获得当天的数字(例如:星期一为1),并且可以使用mktime指定时间戳

获取当前日期的示例:

echo date('N'); // show : 5 cause we are Friday when you post your question

日期+mktime的示例(来自文档):

// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

所以,你可以这样做:

// Cause we are the 08/04/2016, this line print 6 (cause tomorow is the 6th day of the week) 
echo date("N", mktime(0, 0, 0, date('m'), date(d)+1, date('Y')));

如果你能得到当天的数字,你就可以(稍微计算一下)找到下周一。

使用/处理/训练这些功能,如果需要更多帮助,请回来:)。

感谢大家的帖子,我选择了使用$day = $startDate->format('N');获取一天的数字,然后创建一个if语句来检查数字是否等于1。