使用 PHP 每 14 天显示一次新列表项

我正在使用以下代码,每 14 天显示一个新的列表项。开始日期为2020-02-01,结束日期为2020-12-31。开始日期不会显示任何列表项。在 2020-02-15 上,将显示第一个列表项。在 2020-02-29 上,将显示第二个列表项。这将每 14 天持续一次,直到达到结束日期。


列表项来自WordPress循环,因此我不确定是否可以使用此代码合并到wp Query中,date_query或者应该保持独立并在查询后运行。


<?php

// Set the default timezone.

date_default_timezone_set('America/Edmonton');


$startDate = new DateTime('2020-02-01 00:00:00');

$endDate = new DateTime('2020-12-31 00:00:00');

$dateRange = new DatePeriod($startDate, new DateInterval('P14D'), $endDate);

$b = new DateTime('-14 days');

?>


<ul>

<?php foreach($dateRange as $date): ?>

    <?php $diff = $date->diff($b); ?>

    <?php if($diff->days <= 14): ?>

        <li>

            <?php echo $date->format('Y-m-d'); ?>

        </li>

    <?php endif; ?>

<?php endforeach; ?>

</ul>

电流输出

  • 2019-12-29

  • 2020-01-12

输出不符合预期,我需要一些帮助来修复我的代码,因为我是PHP新手。

非常感谢任何和所有帮助。


汪汪一只猫
浏览 98回答 2
2回答

大话西游666

怎么样:// We start at your given start date$startDate = new DateTime("2020-02-01");// We define a date when to stop additional list items$endDate = new DateTime("2020-12-31");// We define the current time$now = new DateTime();// Modify date on the fly, by given time frame (readability)// Ensures to display dates only between start+14day && endwhile ($startDate->modify("+14 days") < $now && $startDate < $endDate) {&nbsp; &nbsp; echo '<li>' . $startDate->format("Y-m-d") . '</li>';}

慕姐8265434

我已经测试了这个,它的工作原理:<?php// Set the default timezone.date_default_timezone_set('America/Edmonton');$startDate = new DateTime('2020-02-01 00:00:00');$startDate->modify('+14 days');$endDate = new DateTime('2020-12-31 00:00:00');$dateRange = new DatePeriod($startDate, new DateInterval('P14D'), $endDate);?><ul><?php foreach($dateRange as $date) { ?>&nbsp; &nbsp; &nbsp; &nbsp; <li>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <?php echo $date->format('Y-m-d'); ?>&nbsp; &nbsp; &nbsp; &nbsp; </li><?php } ?></ul>我已经添加了更改时间戳的内容(将时间戳添加2周)。由于每 2 周返回一次时间戳,因此我删除了 if 语句。您可以在此处了解更多信息。$endDate->modify('+14 days');$dateRangedate->modify()
打开App,查看更多内容
随时随地看视频慕课网APP