我将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);