【问题标题】:Displaying date from monday to sunday显示周一到周日的日期
【发布时间】:2015-03-10 11:23:11
【问题描述】:

我想制作一个表格每周时间表,我需要在 html 标记中附加日期。到目前为止,我得到了这段代码:

    <table class="schedule-table">
        <tr class="days-tr">
         <td> 
            <span><?php echo $date = date("dS",strtotime('monday this week')).' -  '.date("dS",strtotime("sunday this week")); ?> </span>
            <span> <?php echo $date = date("M-Y",strtotime('monday this week')); ?></span>
        </td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('monday this week')); ?>">Monday</td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('tuesday this week')); ?>">Tuesday</td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('wednesday this week')); ?>">Wednesday</td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('thursday this week')); ?>">Thursday</td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('friday this week')); ?>">Friday</td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('saturday this week')); ?>">Saturday</td>
        <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('sunday this week')); ?>">Sunday</td>
        </tr>
    </table>

这是输出:

<table class="schedule-table">
    <tbody>
        <tr class="days-tr">
            <td> 
                <span>16th -  15th </span>
                <span> Mar-2015</span>
            </td>
            <td data-workout-day="16-Mar-2015">Monday</td>
            <td data-workout-day="10-Mar-2015">Tuesday</td>
            <td data-workout-day="11-Mar-2015">Wednesday</td>
            <td data-workout-day="12-Mar-2015">Thursday</td>
            <td data-workout-day="13-Mar-2015">Friday</td>
            <td data-workout-day="14-Mar-2015">Saturday</td>
            <td data-workout-day="15-Mar-2015">Sunday</td>
        </tr>
    </tbody>
</table>

如您所见,它需要下周的星期一日期而不是 2015 年 3 月 9 日?如何解决它以正确显示它? (例如,如果我们有 3 月 13 日星期五,我希望星期一、星期二、星期四的日期从前一周开始,而不是以下日期。

【问题讨论】:

    标签: php date strtotime


    【解决方案1】:

    如果你假设你的一周从星期一开始

    然后首先检查

    $day = date('l')
    if($day != 'Monday'){
    echo $date = date("d-M-Y",strtotime( "previous monday" ));
    }
    

    【讨论】:

      【解决方案2】:

      strtotime 非常强大,可以接受很多字符串来获取所需的日期。在这种情况下,您希望 this week 获取本周日期。

      通过将 'next monday' etc 更改为 'this week monday',您可以获得本周星期一的日期:

      <table class="schedule-table">
          <tr class="days-tr">
          <td> 
              <span><?php echo $date = date("dS",strtotime('this week')).' -  '.date("dS",strtotime("this week sunday")); ?> </span>
              <span> <?php echo $date = date("M-Y",strtotime('monday this week')); ?></span>
          </td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week monday')); ?>">Monday</td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week tuesday')); ?>">Tuesday</td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week wednesday')); ?>">Wednesday</td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week thursday')); ?>">Thursday</td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week friday')); ?>">Friday</td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week saturday')); ?>">Saturday</td>
          <td data-workout-day="<?php echo $date = date("d-M-Y",strtotime('this week sunday')); ?>">Sunday</td>
          </tr>
      </table>
      

      生成:

      <table class="schedule-table">
          <tbody>
              <tr class="days-tr">
                  <td> 
                      <span>09th -  15th </span>
                      <span> Mar-2015</span>
                  </td>
                  <td data-workout-day="09-Mar-2015">Monday</td>
                  <td data-workout-day="10-Mar-2015">Tuesday</td>
                  <td data-workout-day="11-Mar-2015">Wednesday</td>
                  <td data-workout-day="12-Mar-2015">Thursday</td>
                  <td data-workout-day="13-Mar-2015">Friday</td>
                  <td data-workout-day="14-Mar-2015">Saturday</td>
                  <td data-workout-day="15-Mar-2015">Sunday</td>
              </tr>
          </tbody>
      </table>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-12
        • 2021-12-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多