首页 > 解决方案 > 每 2 周显示下周三 PHP

问题描述

对于电子商务商店,我们试图显示我们将订购新库存的下一个日期。我们每隔一个星期三订购一次库存。目前我有这个:

<?php
$number_of_dates = 1;
$startDate = mktime(0, 0, 0, 6, 4, 2020); // May 2, 2012
for ($i = 0; $i < $number_of_dates; $i++) {
   $date = strtotime('Wednesday +' . ($i * 2) . ' weeks', $startDate);
   echo date('d-m-Y', $date).PHP_EOL;
}
?>

问题是,从测试来看,它没有显示下一个日期。因此,它将继续显示从开始日期开始的第一个日期并且不会继续显示下一个日期。

标签: phpdate

解决方案


使用类族更容易处理日期DateTime()

认为这可以满足您的需求。您可能需要对其进行调整以满足您的特定需求。

$today = new DateTimeImmutable('next Wednesday');
$end = $today->modify('+4 weeks');
$interval = new DateInterval('P2W');
$period = new DatePeriod($today, $interval, $end);
foreach ($period as $date) {
    printf('%s%s', $date->format('Y-m-d'), PHP_EOL);
}

输出

2020-06-10
2020-06-24

推荐阅读