Tom*_*igh 115
看到 strtotime()
strtotime('next tuesday');
Run Code Online (Sandbox Code Playgroud)
你可以通过查看周数来找出你是否已经过去了一天:
$nextTuesday = strtotime('next tuesday');
$weekNo = date('W');
$weekNoNextTuesday = date('W', $nextTuesday);
if ($weekNoNextTuesday != $weekNo) {
//past tuesday
}
Run Code Online (Sandbox Code Playgroud)
小智 53
我知道这是一个迟到的答案,但我想补充我的答案以供将来参考.
// Create a new DateTime object
$date = new DateTime();
// Modify the date it contains
$date->modify('next monday');
// Output
echo $date->format('Y-m-d');
Run Code Online (Sandbox Code Playgroud)
好消息是你也可以用今天以外的日期来做这件事:
// Create a new DateTime object
$date = new DateTime('2006-05-20');
// Modify the date it contains
$date->modify('next monday');
// Output
echo $date->format('Y-m-d');
Run Code Online (Sandbox Code Playgroud)
制作范围:
$monday = new DateTime('monday');
// clone start date
$endDate = clone $monday;
// Add 7 days to start date
$endDate->modify('+7 days');
// Increase with an interval of one day
$dateInterval = new DateInterval('P1D');
$dateRange = new DatePeriod($monday, $dateInterval, $endDate);
foreach ($dateRange as $day) {
echo $day->format('Y-m-d')."<br />";
}
Run Code Online (Sandbox Code Playgroud)
PHP手册 - DateTime
PHP手册 - DateInterval
PHP手册 - DatePeriod
PHP手册 - 克隆
Jos*_*vis 23
这个问题被标记为"php",正如汤姆所说,这样做的方式如下:
date('Y-m-d', strtotime('next tuesday'));
Run Code Online (Sandbox Code Playgroud)
出于某种原因,strtotime('next friday')显示当前周的星期五日期。试试这个:
//Current date 2020-02-03
$fridayNextWeek = date('Y-m-d', strtotime('friday next week'); //Outputs 2020-02-14
$nextFriday = date('Y-m-d', strtotime('next friday'); //Outputs 2020-02-07
Run Code Online (Sandbox Code Playgroud)