Разница в Javascript между числами в одном поле - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь найти способ вычислить разницу между двумя числами (24-часовой формат) в одном поле

{
  xtype: "textfield",
  fieldLabel: "Monday",
  name: "mon1"
}, {
  xtype: "numberfield",
  fieldLabel: "Hours",
  name: "hoursMon1",
}

Обычно пользовательский ввод будет выглядеть примерно так:

mon1 = 7.15-16.45

Тогда мне понадобится функция для вычисления разницы (т. Е. "9.30") в поле hoursMon1.

Из-за того, как работает программа, я не могу просто разделить ввод на 2 поля и сравнить разницу, есть ли способ сделать что-то похожее только из 1 поля?

1 Ответ

0 голосов
/ 03 июня 2019

Получить разницу во времени в функции console.log

var time = "7.15-16.45".split("-");
console.log(msToTime(getMillsec(time[1])- getMillsec(time[0])))  //output 09-30


//get milliseconds
function getMillsec(ctime){
      var timeParts = ctime.split(".");
        return ((+timeParts[0] * (60000 * 60)) + (+timeParts[1] * 60000));
}

//convert millisecond to hour:min format
function msToTime(duration) {
    var milliseconds = parseInt((duration%1000)/100)
        , seconds = parseInt((duration/1000)%60)
        , minutes = parseInt((duration/(1000*60))%60)
        , hours = parseInt((duration/(1000*60*60))%24);

    hours = (hours < 10) ? "0" + hours : hours;
    minutes = (minutes < 10) ? "0" + minutes : minutes;
    seconds = (seconds < 10) ? "0" + seconds : seconds;

    return hours + "-" + minutes;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...