我试过了(JSFiddle):

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

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


当前回答

一个可能的解决方案:

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

使用Moment.js:

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

其他回答

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

从文档中可以看到:

表示日期的字符串。

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

你的代码应该更改为:

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

例子jsfiddle

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>

有点粗糙,但很有效!

如果您正在使用PHP,您可以像这样设置该值

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

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

但如果你想从客户端使用,使用javascript解决方案代替。 希望能有所帮助。

你可以这样做:

<input type="date" value="<?php echo date("Y-m-d");?>" name="inicio">
$date=date("Y-m-d");
echo"$date";
echo"<br>SELECT DATE: <input type='date'  name='date'  id='datepicker' 
value='$date' required >";