【问题标题】:Select option echo only coming weekdays php选择选项回显仅在工作日 php
【发布时间】:2015-09-17 18:30:52
【问题描述】:

我有下面的代码,它只在 php 中显示工作日。

<?php for($i=0;$i<=4;$i++): ?>
<label ><?php echo date('l',strtotime("+$i Weekday")); ?>,</label>
<label ><?php echo date('M d', strtotime("+$i Weekday")); ?></label>
<br>   
<?php endfor; ?>

代码显示

Thursday, Sep 17 
Friday, Sep 18 
Monday, Sep 21 
Tuesday, Sep 22 
Wednesday, Sep 23 

我的目标是以以下格式显示工作日;

Today --- How can I achieve this
Tomorrow --- How can I achieve this
Monday, Sep 21
Tuesday, Sep 22
Wednesday, Sep 23

我想在&lt;select&gt; html 标记中使用它并将日期显示为选项。 任何帮助将不胜感激。

干杯!

【问题讨论】:

  • 如果你想要Monday, Sep 21,你为什么使用d-M-Y作为你的格式字符串。不要告诉计算机你想要苹果并抱怨它们不是橙子。
  • 编辑了我的问题:)
  • 使用DateTime 对象。

标签: php html date


【解决方案1】:

试试这个代码:

<?php
$today = date('c');
$tomorrow = date('c', strtotime('+1 day'));

for($i=0;$i<=4;$i++){ ?>
<label><?php 
    if(date('c',strtotime("+$i day")) == $today){
        echo "Today";
    } elseif(date('c',strtotime("+$i days")) == $tomorrow){
        echo "Tomorrow";
    } else {
        echo date('l',strtotime("+$i day"));
        echo ", </label><label>";
        echo date('M d', strtotime("+$i day"));
    }
    ?></label>
<br>   
<?php } ?>

输出:

编辑:周六和周日不显示:

<?php
$today = date('c');
$tomorrow = date('c', strtotime('+1 day'));

for($i=0;$i<=4;$i++){ 
    if(date('l',strtotime("+$i day")) != "Saturday" && date('l',strtotime("+$i day")) != "Sunday"){
        echo "<label>";
        if(date('c',strtotime("+$i day")) == $today){
            echo "Today";
        } elseif(date('c',strtotime("+$i days")) == $tomorrow){
            echo "Tomorrow";
        } else {
            echo date('l',strtotime("+$i day"));
            echo ", </label><label>";
            echo date('M d', strtotime("+$i day"));
        }
        echo "</label><br>";
    }
 }

?>

输出:

【讨论】:

  • 你在哪里设置了$today$tomorrow var 值?您的代码似乎不完整
  • 干得好!现在它几乎是this answer 的简单副本,说明该问题应标记为重复。
  • 我在答案中设置了 $today$tomorrow,但奇怪的是 Stack Overflow 没有显示它。不过,我修好了。
  • 您的答案在周末不起作用。我得到以下信息; Monday, Sep 28 Monday, Sep 28 Tuesday, Sep 29 Wednesday, Sep 30 Thursday, Oct 01
  • 有没有一种方法可以让我跳过周末而不是像今天和明天那样显示它们。所以只显示星期一等,然后在星期一我们回到使用今天和明天。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
相关资源
最近更新 更多