Значение DateTime-Locale не устанавливается javascript - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть два DateTime-Locale ввода в форме, и я хочу установить для их значений дату и время загрузки представления и 10 минут после этого. Я следую за этим, чтобы сделать это: Установка значения datetime-local от 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 голосов
/ 30 апреля 2019

Хорошо, я понял это. Я использовал формат, который 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...