2013-01-08 222 views
120

我曾嘗試如何設置默認值

<input type="date" value="2013-1-8"> 

這樣輸入[類型=「日期」]:demo

但我失敗了,我怎麼可以設置默認值?

+0

的值設置在FF16,您使用的是什麼瀏覽器? –

+0

@KevinBowersox:chrome 23 – hh54188

回答

214

日期應採用格式YYYY-MM-DD。單一的數字日期和月份應以0一月來填充爲01

documentation

表示日期的字符串。

價值:按照[RFC 3339]定義,額外的資格,今年是一個代表了許多四個或更多位數的有效全日期大於0

你的代碼應該改爲

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

Example jsfiddle

+4

對此感謝!我默認今天的日期與PHP,我沒有意識到我的問題只是日期的格式。我在做 」name =「date」id =「date」title =「Pick a date」 /> 和其他各種方式,但什麼工作是您的建議 value =「<?php回聲日期('Ym-d');?>」輝煌,謝謝! –

+4

我不得不使用'yyyy-MM-dd'獲取更多信息:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx – Jimmy

+0

這不適用於手機-蘋果瀏覽器。 – sheriffderek

11

,如果你使用的是PHP,你可以這樣設置

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

但請記住它會返回服務器的日期。如果您想從客戶端使用,請改用JavaScript。 希望它有幫助。

2

你可以做這樣的事情:

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

只需通過以下正確的格式顯示日期

<input type="date" value="2014-12-29"> 
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

的另一種方法是使用moment.js使用矩來解決它

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

或者只是一行普通的JavaScript – quemeful

+0

document.getElementById(「mypicker」)。value =「2016-4-5」; – quemeful

+1

moment.js非常強大。但我沒有提及任何其完美的解決方案。每個人都有自己的解決方案 –

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

一種可能的解決

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

。JS

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

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

然後在JS:

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

謝謝!最簡單的解決方案。很奇怪,它不受歡迎。它有什麼陷阱嗎? –

0

設置當前日期最簡單的方法是。

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

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

使用Microsoft Visual Studio

日期分隔符' - '

@ {串DATEVALUE = request.Date.ToString(「YYYY ' - ' MM'- 'ddTHH:mm:ss「);}

< input type =」datetim E-本地」級= 「表單控制」 NAME = 「日期1」 值= 「@ DATEVALUE」 >