我正在创建一个基于日期的PHP页面,它将获得下周一的日期。
我的代码片段如下 - 我使用DateTime和修改方法获取下一个星期一日期,但我需要包括的是,如果今天的日期是星期一,我想选择它(因为它只是选择下周一,不包括今天。
$startDate = new DateTime();
$startDate->modify('next monday')->format('d-m-Y');
如何改变这一点,如果今天是星期一,它会使用今天的日期而不是下一个星期一之后呢?
答案 0 :(得分:1)
使用date();,您可以获得当天的数字(例如:星期一为1),您可以使用mktime来指定时间戳
获取当天数字的示例:
echo date('N'); // show : 5 cause we are Friday when you post your question
日期+ mktime的示例(来自doc):
// 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')));
如果你能得到当天的数字,你可以(用一点点数学)找到下一个星期一。
使用/处理/训练此功能,如果您需要更多帮助,请回来:)。
答案 1 :(得分:0)
感谢所有帖子,我选择使用$day = $startDate->format('N');
获取当天的数字,然后创建一个if语句来检查数字是否等于1。