223

我试过(JSFiddle):

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

但它不起作用,我该如何设置默认值?

4

14 回答 14

391

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

文档中:

表示日期的字符串。

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

您的代码应更改为:

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

示例 jsfiddle

于 2013-01-08T10:17:00.127 回答
43

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

然后在 js 中:

_today: function () {
  var myDate = document.querySelector(myDate);
  var today = new Date();
  myDate.value = today.toISOString().substr(0, 10);
},
于 2016-09-10T19:11:39.600 回答
33

一个可能的解决方案:

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

使用 Moment.js:

var today = moment().format('YYYY-MM-DD');
document.getElementById("datePicker").value = today;
于 2016-08-06T07:54:03.300 回答
21

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

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

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

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

于 2014-09-09T01:06:36.087 回答
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");
于 2015-05-20T19:10:46.517 回答
4

你可以这样做:

<input type="date" value="<?php echo date("Y-m-d");?>" name="inicio">
于 2015-02-24T23:51:58.047 回答
2

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

<input name="date" type="date" value="<?php echo date('Y-m-j'); ?>" required>

于 2017-08-15T12:57:03.600 回答
1
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());
于 2016-05-25T13:08:30.200 回答
1
$date=date("Y-m-d");
echo"$date";
echo"<br>SELECT DATE: <input type='date'  name='date'  id='datepicker' 
value='$date' required >";
于 2017-09-23T10:29:13.863 回答
1

// 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+"";
}
于 2018-07-17T10:11:17.210 回答
1

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>

有点粗糙,但它的工作原理!

于 2018-11-18T11:00:41.133 回答
0

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

<input type="date" value="2014-12-29">
于 2015-04-27T06:48:36.443 回答
0

使用 Microsoft Visual Studio

日期分隔符'-'

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

< input type="datetime-local" class="form-control" name="date1" value="@dateValue" >

于 2017-11-02T23:08:33.897 回答
0

以下是表单中三个不同日期的三个语句,其中包含三个 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")));

我希望这有帮助 :)

于 2018-06-11T05:38:12.773 回答