在inputtypesdate中设置date

<input id="datePicker" type="date" />​ 

我将在今天设置datepickerinputtypesdate在铬。

 $(document).ready( function() { var now = new Date(); var today = now.getDate() + '/' + (now.getMonth() + 1) + '/' + now.getFullYear(); alert(today); $('#datePicker').val(today); });​ 

但它不工作

编辑这个jsFiddle – 请尝试在铬。

小提琴链接: http : //jsfiddle.net/7LXPq/93/

这两个问题:

  1. 在HTML 5中的date控制以我们在SQL中使用的年 – 月 – 日格式接受
  2. 如果月份是9,则需要简单地设置为09而不是9。 所以它也适用于日场。

请按照小提琴演示链接:

 var now = new Date(); var day = ("0" + now.getDate()).slice(-2); var month = ("0" + (now.getMonth() + 1)).slice(-2); var today = now.getFullYear()+"-"+(month)+"-"+(day) ; $('#datePicker').val(today); 

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

应该pipe用。

更新:我这样做date.toISOString().substr(0, 10) 。 给出与接受答案相同的结果,并得到很好的支持。

对我来说,解决这个问题最简单的方法是使用moment.js,只用两行来解决这个问题。

 var today = moment().format('YYYY-MM-DD'); $('#datePicker').val(today); 

如果代码的格式为: YYYY-MM-DD ,这是date格式的计算机标准http://en.wikipedia.org/wiki/ISO_8601

我通常在使用dateinput时创build这两个辅助函数:

 // date is expected to be a date object (eg, new Date()) const dateToInput = date => `${date.getFullYear() }-${('0' + (date.getMonth() + 1)).slice(-2) }-${('0' + date.getDate()).slice(-2) }`; // str is expected in yyyy-mm-dd format (eg, "2017-03-14") const inputToDate = str => new Date(str.split('-')); 

然后可以将dateinput值设置为:

 $('#datePicker').val(dateToInput(new Date())); 

并像这样检索选定的值

 const dateVal = inputToDate($('#datePicker').val()) 

jquery版本

 var currentdate = new Date(); $('#DatePickerInputID').val($.datepicker.formatDate('dd-M-y', currentdate));