我试过了(JSFiddle):

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

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


当前回答

你可以这样做:

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

其他回答

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());

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

从文档中可以看到:

表示日期的字符串。

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

你的代码应该更改为:

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

例子jsfiddle

你可以使用下面的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");

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

我希望这对你有所帮助:)

一个可能的解决方案:

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

使用Moment.js:

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