我将HTML输入框设置为type = date

<input name="datereceived" type="date" class="FormDateValues" id="datereceived" />


我想使用Jquery在文档加载到今天的日期时填写此输入框,但是由于我在澳大利亚,所以必须使用GMT + 10进行补偿

要获取日期,请执行以下操作:

var newDate = new Date();


然后我尝试使用以下方法设置输入框:

$('#datereceived').val(newDate.toLocaleDateString());


浏览器告诉我,对于type = date,格式必须设置为yyyy-MM-dd而不是澳大利亚时间格式dd / MM / yyyy。

我不确定如何执行toLocaleDateString并将日期转换为yyyy-MM-dd。

最佳答案

尝试使用String.prototype.split()Array.prototype.splice()Array.prototype.join()



// create array of values returned by `.toLocaleDateString()`,
// delimited by `/`
var d = new Date().toLocaleDateString().split("/");
// `y` : year
var y = d.splice(-1)[0];
// set `y` as item at index `0` of `d`
d.splice(0, 0, y);
// join items within `d` with dash character `"-"`
var date = d.join("-");
console.log(date);

10-07 22:01