如何从特定日期获得接下来的两个星期六

时间:2013-06-22 14:40:40

标签: php

我在没有找到解决方案的情况下进行了很多搜索。

这是我的代码:

Post="2/28/2013"; 
$timestamp = strtotime($_POST['date']);
$datum = date("Y-m-d H:i:s", $timestamp);

我希望在日期(用户命名)之后的下两个星期六为客户提供两个辅助日期。我用日期查看mySQL以查看日期是否可用。

这是从今天开始的下一个星期六,但它没有帮助:

$nextSaturday= date("M d Y", strtotime('+1 Saturday'));

4 个答案:

答案 0 :(得分:2)

最好的方法是使用PHP DateTime类:

$date = new DateTime($_POST['date']);
$date->modify('next Saturday');

echo $date->format('M d Y');

答案 1 :(得分:0)

$time = time();
$saturdaysCount = 2;
$saturdays = [];
for ($i = 0; $i < $saturdaysCount; $i++){
    $time = strtotime("next Saturday", $time);
    $saturdays[] = date('Y.m.d', $time);
}

var_dump($saturdays);

答案 2 :(得分:0)

DateTime课程绝对是可行的方法: -

$date = \DateTime::createFromFormat("d-m-Y", $_POST['date']);
$int = new \DateInterval('P1W');
$date->modify('next saturday');
$firstSat = $date->format('d-m-Y');
$date->add($int);
$secondSat = $date->format('d-m-Y');

答案 3 :(得分:-1)

$nextSaturday= date("M d Y", strtotime($datum.' next saturday'));
$nextSaturday2= date("M d Y", strtotime($nextSaturday.'+ 1 week'));

http://php.net/manual/en/function.strtotime.php