javascript未设置DateTime-Locale值

时间:2019-04-30 09:04:47

标签: javascript c# asp.net-mvc

我在表单中有两个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;
}

在这一点上,我不知道可以尝试什么,或者是否错过了一些基本的东西来设置值。欢迎任何帮助

1 个答案:

答案 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;
}