我在表单中有两个DateTime-Locale
输入,我想将它们的值设置为视图加载时的日期和时间,以及之后的10分钟。我一直在这样做:Setting value of datetime-local from Date,但是没有工作。
这些是我正在尝试的示例(在所有我用document.getElementById("eve_start_date_id").value=...
和var date = document.getElementById("eve_start_date_id"); date.value=...
尝试过的情况下:
1º,我尝试了此操作,没有使用:ss
并将'.Replace(' ', 'T')
添加到ToString
,但这什至没有执行。
function defaultDate() {
var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
document.getElementById("eve_start_date_id").value = date;
}
2º,此功能完成,但未分配值。我也尝试过使用toLocaleDateString()
和toISOString()
无济于事:
function defaultDate() {
var d = new Date();
var elem = document.getElementById("eve_start_date_id");
elem.value = d.toLocaleString();
}
3º,此操作也完成,但未分配值。我尝试过这样更改d.getDate()
和d.getMonth()
的顺序,将日期联接从/
更改为-
,日期和时间的分隔符从到
T
,并在:00
的末尾添加localDateTime
,无济于事。
function defaultDate() {
Number.prototype.AddZero = function (b, c) {
var l = (String(b || 10).length - String(this).length) + 1;
return l > 0 ? new Array(l).join(c || '0') + this : this;
}//to add zero to less than 10,
var d = new Date(),
localDateTime = [d.getDate().AddZero(),
(d.getMonth() + 1).AddZero(),
d.getFullYear()].join('/') + ' ' +
[d.getHours().AddZero(),
d.getMinutes().AddZero()].join(':');
document.getElementById("eve_start_date_id").value = localDateTime;
}
在这一点上,我不知道可以尝试什么,或者是否错过了一些基本的东西来设置值。欢迎任何帮助
答案 0 :(得分:0)
好的,我知道了。当设置值的正确格式为DateTime-Local
时,我使用的是(dd/MM/yyyy HH:mm)
提交表单yyyy-MM-ddTHH:mm
时给出的格式,因此要使其起作用,情况1应该看起来像这样:
function defaultDate() {
var date = DateTime.Now.ToString("yyyy-MM-ddTHH:mm");
document.getElementById("eve_start_date_id").value = date;
}
这是针对情况3的,尽管使用情况1更容易。
function defaultDate() {
Number.prototype.AddZero = function (b, c) {
var l = (String(b || 10).length - String(this).length) + 1;
return l > 0 ? new Array(l).join(c || '0') + this : this;
}//to add zero to less than 10,
var d = new Date(),
localDateTime = [d.getFullYear(),
(d.getMonth() + 1).AddZero(),
d.getDate().AddZero()].join('-') + 'T' +
[d.getHours().AddZero(),
d.getMinutes().AddZero()].join(':');
document.getElementById("eve_start_date_id").value = localDateTime;
}