【问题标题】:How can I get a PHP webpage to print every day of the year (2013)? [closed]如何让 PHP 网页在一年中的每一天(2013 年)打印? [关闭]
【发布时间】:2013-03-25 22:59:46
【问题描述】:

我对 PHP 很陌生,我正在尝试制作一个 PHP 网页,可以打印出 2013 年的每一天,例如:

2013 年 1 月 1 日
2013 年 1 月 2 日
......
......
2013 年 12 月 31 日

我一直在使用下面这段代码的不同变体,但我无法让日期增加一次以上。

$date = "2013-01-01";

for ($counter = 0; $counter <= 365; $counter++) {

$newdate = strtotime('+1 day', strtotime($date));
$newdate = date('Y-m-j', $newdate);

echo "$newdate<br>";

}

【问题讨论】:

    标签: php for-loop strtotime


    【解决方案1】:

    您总是使用$date 变量来计算日期,但您并没有更改它。您的循环将迭代 366 次(它从 0 开始,并以包括 365 结束)。还要先回显$date,否则您将从 1 月 2 日开始

    $date = "2013-01-01";
    
    for ($counter = 0; $counter < 365; $counter++) {
        echo "$date<br>";
        $date = date('Y-m-j', strtotime('+1 day', strtotime($date)));
    }
    

    【讨论】:

      【解决方案2】:

      很简单,当你使用strtotime( string )时,就会出现问题。

      其他重要的是您需要将日期添加到$date 或在strtotime( originalDate . '+'.$counter.' day') 上添加$counter

      1 没有使用 $date 的计数器。

      <?php
      
      $date = "2013-01-01";
      
      for ($counter = 0; $counter <= 364; $counter++) {
      
          echo "$date<br>";
      
          $newdate = strtotime( $date . '+1 day');
          $newdate = date('Y-m-j', $newdate);
          $date = $newdate;
      
      }
      
      ?>
      

      2 带计数器:

      <?php
      
      $date = "2013-01-01";
      
      for ($counter = 0; $counter <= 364; $counter++) {
      
          $newdate = strtotime( $date . '+'.$counter.' day');
          $newdate = date('Y-m-j', $newdate);
      
      
          echo "$newdate<br>";
      }
      
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-13
        • 1970-01-01
        • 2015-07-15
        • 2013-03-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多