【问题标题】:How To Placehold Date Inputs With Today & Later如何在今天和以后输入占位符日期
【发布时间】:2014-10-13 06:05:10
【问题描述】:

我正在创建一个带有两个日期选择器的表单。目前,它们看起来像:

<input type="date" class="form-control" name="contract_start" value="<?php echo $contract_start; ?>">

<input type="date" class="form-control" name="contract_end" value="<?php echo $contract_end; ?>">

现在,在表单上,​​日期选择器的默认值只是说“mm/dd/yyyy”。我想知道如何更改它,以便contract_start 输入是当前日期,contract_end 输入是当前日期的 10 个月默认情况下。我该怎么做?

【问题讨论】:

  • 重要说明:input date 不支持m/d/Y,仅支持Y-m-d,至少在chrome 上是这样。 check
  • 您将占位符与初始值混淆了。如果您的意思是如何设置相对于当前日期的初始(默认)值,您应该为此付出一些努力并发布您尝试过的代码。

标签: php html forms date


【解决方案1】:

只需将$contract_end 设置为:
date('m/d/Y', strtotime('+10 months', strtotime($contract_start)))

第一次调用strtotime 会将原始日期转换为时间戳,第二次调用会将十个月添加到您的时间戳,然后date 函数会将其格式化。

Strtotime reference
Date reference

【讨论】:

    【解决方案2】:

    您也可以在日期函数中使用单个 strtotime() 函数,如下所示:

    <?php
    
        $contract_start = date('Y-m-d');
        $contract_end   = date('Y-m-d', strtotime($contract_start.' +10 months'));
    
    ?>
    
    <input type="date" class="form-control" name="contract_start" value="<?=$contract_start;?>">
    <input type="date" class="form-control" name="contract_end" value="<?=$contract_end;?>">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-18
      • 2023-03-13
      • 1970-01-01
      • 2018-10-14
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 2015-06-24
      相关资源
      最近更新 更多