【问题标题】:How to set default value to the input[type="date"] [duplicate]如何为输入设置默认值[type="date"] [重复]
【发布时间】:2012-12-22 03:51:36
【问题描述】:

我试过了(JSFiddle):

<input type="date" value="2012-3-23">

但是不行,怎么设置默认值?

【问题讨论】:

标签: html date html-input


【解决方案1】:

日期应采用YYYY-MM-DD 格式。个位数的日期和月份应该用 0 填充。一月是 01。

来自documentation

代表日期的字符串。

值:[RFC 3339] 中定义的有效完整日期,附加条件是年份部分是代表大于 0 的数字的四位或更多位。

您的代码应更改为:

<input type="date" value="2013-01-08">

Example jsfiddle

【讨论】:

  • 啊,谢谢!我使用 php 默认为今天的日期,我没有意识到我的问题只是日期的格式。我在做 还有各种其他方式,但你对 value="" 的建议很有效,谢谢!
  • 我必须使用 'yyyy-MM-dd' 来获取更多信息:msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
  • 这不适用于 mobile-safari。
  • 它在我的 Ionic 应用程序上不起作用
  • @sheriffderek 。并非所有浏览器都支持此功能,您需要 jquery 或类似的后备解决方案
【解决方案2】:

<input type="date" id="myDate" />

然后在js中:

_today: function () {
  var myDate = document.querySelector(myDate);
  var today = new Date();
  myDate.value = today.toISOString().substr(0, 10);
},

【讨论】:

  • 谢谢!最简单的解决方案。太奇怪了,它不受欢迎。它有什么陷阱吗?
  • @AntonSutarmin toISOString() 返回 UTC 日期,而不是浏览器的本地时间。这可能是也可能不是一个陷阱。
  • 谢谢!我的 3 小时搜索。搜索结束。
  • 终于找到了真正有效的解决方案!非常感谢!
【解决方案3】:

一个可能的解决方案:

document.getElementById("yourDatePicker").valueAsDate = new Date();

使用 Moment.js:

var today = moment().format('YYYY-MM-DD');
document.getElementById("datePicker").value = today;

【讨论】:

  • 将 valueAsDate 分配给 new Date() 假定您需要 UTC 时间。如果您处于 UTC (0) 以外的任何其他时区,则一天中的部分时间日期将不正确。
  • 这是一个边界情况@adjenks,你不能以这种方式对日期的答案投反对票。每个人都有自己的区域差异,每个人都知道如何及时添加区域。如果你不知道。这是你的错没有回答:)
【解决方案4】:

如果你使用的是 PHP,你可以这样设置值

<input type="date" value="<?php echo date("Y-m-d");?>">

但请记住,它会返回服务器的日期。 例如如果您的服务器在美国,而您的客户在印度尼西亚,则可能相差 1 天。

但如果您想从客户端使用,请改用 javascript 解决方案。 希望有帮助。

【讨论】:

    【解决方案5】:

    你可以使用这个js代码:

    <input type="date" id="dateDefault" />
    

    JS

    function setInputDate(_id){
        var _dat = document.querySelector(_id);
        var hoy = new Date(),
            d = hoy.getDate(),
            m = hoy.getMonth()+1, 
            y = hoy.getFullYear(),
            data;
    
        if(d < 10){
            d = "0"+d;
        };
        if(m < 10){
            m = "0"+m;
        };
    
        data = y+"-"+m+"-"+d;
        console.log(data);
        _dat.value = data;
    };
    
    setInputDate("#dateDefault");
    

    【讨论】:

      【解决方案6】:

      你可以这样做:

      <input type="date" value="<?php echo date("Y-m-d");?>" name="inicio">
      

      【讨论】:

      • 这个在我的情况下工作,&lt;input type="date" id="reminderDate" class="form-control form-control-user" id="last_name" placeholder="Enter Reminder Date" value='{{customer.reminder_date| date:"Y-m-d" }}'&gt; 在 Django 中。
      【解决方案7】:

      设置当前日期最简单的方法是。

      &lt;input name="date" type="date" value="&lt;?php echo date('Y-m-j'); ?&gt;" required&gt;

      【讨论】:

        【解决方案8】:
        1 - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            <input type="date" "myDate">
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        
            var today = new Date();
            $('#myDate').val(today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2));
        
        2 - @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
           <input type="datatime-local" id="myLocalDataTime" step="1">
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        
        var today = new Date();
        $('#myLocalDataTime').val(today.getFullYear() + '-' + ('0' + (today.getMonth() + 1)).slice(-2) + '-' + ('0' + today.getDate()).slice(-2)+'T'+today.getHours()+':'+today.getMinutes());
        

        【讨论】:

          【解决方案9】:
          $date=date("Y-m-d");
          echo"$date";
          echo"<br>SELECT DATE: <input type='date'  name='date'  id='datepicker' 
          value='$date' required >";
          

          【讨论】:

            【解决方案10】:

            // html代码

            <input id="idFdate" type="date" />
            

            // 主加载函数的javascript代码

            function loadFunction() {
                // body...
                var today = new Date();
                var dd = today.getDate();
                var mm = today.getMonth()+1; //January is 0!
                var yyyy = today.getFullYear();
            
                if(dd<10){
                    dd='0'+dd;
                } 
                if(mm<10){
                    mm='0'+mm;
                } 
            
                today = yyyy+'-'+mm+'-'+dd;                
                document.getElementById("idFdate").defaultValue =today+"";
            }
            

            【讨论】:

              【解决方案11】:

              JS代码:

              function TodayDate(){
                      let data= new Date();
                      return data.getFullYear().toString()+'-' + (data.getMonth()+1).toString()+'-' + data.getDate().toString()
                  }
                  document.getElementById('today').innerHTML = '<input type="date" name="Data" value="'+TodayDate()+'" ><br>';
              

              HTML代码:

              <div id="today" > </div>
              

              有点粗糙,但很有效!

              【讨论】:

                【解决方案12】:

                您只需遵循正确的格式即可显示日期

                <input type="date" value="2014-12-29">
                

                【讨论】:

                  【解决方案13】:

                  使用 Microsoft Visual Studio

                  日期分隔符'-'

                  @{string dateValue = request.Date.ToString("yyyy'-'MM'-'ddTHH:mm:ss");}

                  【讨论】:

                    【解决方案14】:

                    以下是表单中三个不同日期的三个语句,其中包含三个 type=date 字段。

                    $inv_date 是当前日期:

                    $inv_date = date("Y-m-d");
                    

                    $inv_date_from 是当月的第一天:

                    $inv_date_from = date("Y") . "-" . date("m") . "-" . "01";
                    

                    $inv_date_to 是本月的最后一天:

                    $inv_date_to = date("Y-m-t", strtotime(date("Y-m-t")));
                    

                    我希望这会有所帮助:)

                    【讨论】:

                      猜你喜欢
                      • 2019-10-15
                      • 2023-02-02
                      • 2019-07-09
                      • 2020-03-31
                      • 2011-02-09
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-09-18
                      相关资源
                      最近更新 更多