获取下周一,周二等的日期

2022-08-30 08:16:33

我想找到星期一,星期二,星期三等的日期戳。如果这一天本周还没有到来,我希望日期是本周,否则,下周。谢谢!


答案 1

参见 strtotime()

strtotime('next tuesday');

您可以通过查看周数来了解您是否已经过了那一天:

$nextTuesday = strtotime('next tuesday');
$weekNo = date('W');
$weekNoNextTuesday = date('W', $nextTuesday);

if ($weekNoNextTuesday != $weekNo) {
    //past tuesday
}

答案 2

我知道这是一个有点晚的答案,但我想添加我的答案以供将来参考。

// Create a new DateTime object
$date = new DateTime();

// Modify the date it contains
$date->modify('next monday');

// Output
echo $date->format('Y-m-d');

好消息是,您也可以使用今天以外的日期执行此操作:

// 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');

要创建范围:

$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 />";
}

引用

PHP 手册 - 日期时间

PHP 手册 - 日期对话

PHP 手册 - 日期周期

PHP 手册 - 克隆


推荐