php - 在 PHP 中获取下周的日期

标签 php date strtotime

我想回显下周的 Mo,Tu,We,Th,Fr,Sa,Su 的日期。

我的代码现在看起来像这样:

$date_monday = date("Y-m-d", strtotime('next monday'));
$date_tuesday = date("Y-m-d", strtotime('next tuesday'));
$date_wednesday = date("Y-m-d", strtotime('next wednesday'));
$date_thursday = date("Y-m-d", strtotime('next thursday'));
$date_friday = date("Y-m-d", strtotime('next friday'));
$date_saturday = date("Y-m-d", strtotime('next saturday'));
$date_sunday = date("Y-m-d", strtotime('next sunday'));

问题是,例如 sunday 的日期是错误的,因为下一个星期日是明天,但我想要下周星期日的日期。

有没有办法将 PHP 日期设置为星期日并计算新日期的天数?

最佳答案

这可以通过 DateTime 轻松实现类:

$dt = new DateTime();
// create DateTime object with current time

$dt->setISODate($dt->format('o'), $dt->format('W') + 1);
// set object to Monday on next week

$periods = new DatePeriod($dt, new DateInterval('P1D'), 6);
// get all 1day periods from Monday to +6 days

$days = iterator_to_array($periods);
// convert DatePeriod object to array

print_r($days);
// $days[0] is Monday, ..., $days[6] is Sunday
// to format selected date do: $days[1]->format('Y-m-d');

Demo

关于php - 在 PHP 中获取下周的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162068/

相关文章:

java - AES CBC PKCS5Padding with SecretKey 从 Java 到 Php

mysql - 用mysql订购日期

javascript - 如何使用 jquery 将分钟和小时添加到时间字符串

php - 在 PHP 中使用 strtotime() 比较两个日期

php - 根据服务器流量重定向用户

PHP 删除按钮

php - 如何从 mysql 表中显示每小时统计信息

javascript - 用javascript转换json对象(php日期)

php - Laravel 5.2+ 日期前后日期验证不起作用

php - Zend Framework 2 中使用 PHPUnit 模拟服务