2013-01-08 224 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” >