在PHP中使用动态变量作为日期时如何获取下一个星期日的日期?

时间:2018-09-17 18:27:41

标签: php

我已经使用PHP代码获取下周日的日期。但是我想根据动态日期获得下一个星期日的日期,例如-

$y = '2018';
$m = '09';
$d = '16';
$dts = $y.'-'.$m.'-'.$d;
$nextDate = date($dts,strtotime('next Sunday'));
echo $nextDate;

我无法获得下一个星期日的日期。

我会感谢你们的任何帮助。预先感谢。

2 个答案:

答案 0 :(得分:2)

或者您可以使用DateTime

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

同样,您可以在构造函数调用中放入任何有效日期。

$nextDate = (new DateTime($dts))->modify('next Sunday')->format('Y-m-d');

然后它将从该开始日期对其进行修改。

答案 1 :(得分:1)

使用值为“下一个星期日”的PHP strtotime是正确的。问题在于您要传递给date的格式值是“ 2018”,“ 09”和“ 16”的文字值,而不是格式字符串(看起来像是“ Ymd”)

这将从当前日期为您获取下一个星期日的日期:

$nextDate = date('Y-m-d',strtotime('next Sunday'));

如果要从任何给定日期获取下一个星期日,只需要将日期作为第二个参数传递给strtotime

$y = '2018';
$m = '09';
$d = '16';
$dts = $y.'-'.$m.'-'.$d;
$nextDate = date('Y-m-d',strtotime('next Sunday', strtotime($dts)));
echo $nextDate;