【问题标题】:how to display range of dates in PHP如何在 PHP 中显示日期范围
【发布时间】:2011-05-11 21:19:40
【问题描述】:

我只是想知道如何在 PHP 中回显一系列日期

理想情况下,我希望系统显示本周星期三到下周星期三

例如

17/11/1024/11/10

谁能指出我正确的方向?

【问题讨论】:

    标签: php mysql datetime


    【解决方案1】:

    我在你的问题中没有提到 mysql,但如果你真的在谈论它:

    select * from my_table where date_fld between '17/11/10' and '24/11/10'
    

    【讨论】:

    • 哇,你比我早想到了啊哈。但是日期必须在每个星期三更新,它们不是固定的。
    • ... where date_fld between now() and now() + INTERVAL 1 WEEK
    【解决方案2】:

    创建一个日期,并为其添加天数...

    $m= date("m");
    $de= date("d");
    $y= date("Y");
    
    for($i=0; $i<8; $i++){
      echo date('d-m-y:D',mktime(0,0,0,$m,($de+$i),$y));
      echo "<br>";
    }
    

    【讨论】:

    • 这很好用,但我希望它只显示本周周三和下周三的日期,格式如下:“17/11/10 到 24/11/10”
    【解决方案3】:
    $oBeginDate = new DateTime('last wednesday');
    $oEndDate   = new DateTime('next wednesday');
    
    echo $oBeginDate->format('d/m/Y') . ' to ' . $oEndDate->format('d/m/Y');
    

    【讨论】:

      【解决方案4】:

      使用 strtotime

      $now = '17/11/2010';
      $next_week = date('d/m/Y', strtotime('+1 week', strtotime($now)));
      

      【讨论】:

        【解决方案5】:

        由于 MySQL 被标记...

        SELECT   now(), 
        case
        when weekday(now()) = 3 then date_sub(now(), interval 1 day)
        when weekday(now()) = 2 then curdate()
        when weekday(now()) = 1 then date_add(now(), interval 1 day)
        when weekday(now()) = 0 then date_add(now(), interval 2 day)
        when weekday(now()) = 4 then date_sub(now(), interval 1 day)
        when weekday(now()) = 5 then date_sub(now(), interval 2 day)
        when weekday(now()) = 6 then date_sub(now(), interval 3 day)
        end as current_wednesday,
        case
        when weekday(now()) = 3 then date_add(now(), interval 6 day)
        when weekday(now()) = 2 then date_add(now(), interval 7 day)
        when weekday(now()) = 1 then date_add(now(), interval 8 day)
        when weekday(now()) = 0 then date_add(now(), interval 9 day)
        when weekday(now()) = 4 then date_add(now(), interval 5 day)
        when weekday(now()) = 5 then date_add(now(), interval 4 day)
        when weekday(now()) = 6 then date_add(now(), interval 3 day)
        end as next_wednesday
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-31
          • 2022-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多