私は試しました(JSFiddle):
<input type="date" value="2012-3-23">
動作しません。どうすればデフォルト値を設定できますか?
日付の形式はYYYY-MM-DD
. 1 桁の日と月は 0 で埋める必要があります。1 月は 01 です。
ドキュメントから:
日付を表す文字列。
値: [RFC 3339]で定義されている有効な完全な日付。年コンポーネントが 0 より大きい数値を表す 4 桁以上であるという追加の条件付き。
コードを次のように変更する必要があります。
<input type="date" value="2013-01-08">
<input type="date" id="myDate" />
次に js で:
_today: function () {
var myDate = document.querySelector(myDate);
var today = new Date();
myDate.value = today.toISOString().substr(0, 10);
},
考えられる解決策:
document.getElementById("yourDatePicker").valueAsDate = new Date();
Moment.js の使用:
var today = moment().format('YYYY-MM-DD');
document.getElementById("datePicker").value = today;
PHPを使用している場合は、次のように値を設定できます
<input type="date" value="<?php echo date("Y-m-d");?>">
ただし、サーバーの日付が返されることに注意してください。たとえば、サーバーが米国にあり、クライアントがインドネシアにある場合、1 日異なる場合があります。
ただし、クライアントから使用する場合は、代わりに JavaScript ソリューションを使用してください。それが役に立てば幸い。
次の 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");
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>
少し荒いですが、うまくいきます!
正しい形式に従うだけで日付を表示できます
<input type="date" value="2014-12-29">