【问题标题】:php - list of dates coming upphp - 即将到来的日期列表
【发布时间】:2010-10-06 17:31:57
【问题描述】:

所有用户都在美国。我需要能够列出除今天之外的所有工作日。假设现在是 10 月 7 日星期四。它应该从 10 月 8 日星期五开始,然后是 10 月 11 日星期一。

我知道如何确保在循环时只列出工作日,但我遇到的麻烦是确保明天就是明天。过去它在东部时间晚上 8:00 左右更改。我想我想要的是这样,当它可能是太平洋时间 12:00 时,将其算作第二天。

【问题讨论】:

  • 请再清楚一点。您想要一个工作日数组(不包括今天),还是想要将结果作为字符串返回?您能否发布您当前的代码,以便我们知道您目前是如何解决问题的,我们可以在该答案的基础上进行构建?

标签: php date timezone


【解决方案1】:
<?php
   $current = new DateTime('now');
   $last = new DateTime('saturday');
   while ($current < $last) {
      echo $current->format('l, F j'), "\n";
      $current->modify('+1 day');
   }
?>

【讨论】:

    【解决方案2】:

    您可以使用strtotime 获取接下来几天的日期,您可以使用date 确定日期是否为工作日:

    <?php
    $reference = time(); // We set today as the first day //
    
    for ($i=0, $j=0; $i<5; $i++, $j++) {
       $nextDay = strtotime('+' . $j . ' days', $reference);
       if (date('w', $nextDay) > 0 && date('w', $nextDay) < 6) {
           echo date('r', $nextDay), "\n";
       } else {
           $i--;
       }
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多