Лидирующий ноль при вычитании одного раза из другого JavaScript - PullRequest
0 голосов
/ 07 июля 2010
function setValue() { 
var startTime = document.getElementById('ToilA'); 
var endTime = document.getElementById('EndHours'); startTime = startTime.value.split(":"); 
var startHour = parseInt(startTime[0], 10); 
var startMinutes = parseInt(startTime[1], 10); 
endTime = endTime.value.split(":"); 
var endHour = parseInt(endTime[0], 10); 
var endMinutes = parseInt(endTime[1], 10); 
//var hours, minutes; 
var today = new Date(); 
var time1 = new Date(2000, 01, 01, startHour, startMinutes, 0); 
var time2 = new Date(2000, 01, 01, endHour, endMinutes, 0); var milliSecs = (time2 - time1); 
msSecs = (1000); 
msMins = (msSecs * 60); 
msHours = (msMins * 60); 
numHours = Math.floor(milliSecs/msHours); 
numMins = Math.floor((milliSecs - (numHours * msHours)) / msMins); 
numSecs = Math.floor((milliSecs - (numHours * msHours) - (numMins * msMins))/ msSecs); numSecs = "0" + numSecs;
numMins = "0" + numMins;
DateCalc = (numHours + ":" + numMins); 

document.getElementById('CalculateHours').value = DateCalc; }

У меня есть еще одна проблема с этим кодом, там лидирующий 0, когда минутная часть превышает 10.

так что он возвращает что-то вроде 11: 013, а не 11:13, это можно исправить с помощью математики или оператор if исправит это? Например, если количество элементов> 2, удалить первый элемент?

Я собирался сделать PHP-скрипт, чтобы удалить его при отправке формы, но он выглядит не очень хорошо.

Ответы [ 2 ]

3 голосов
/ 07 июля 2010

Изменить numMins = "0" + numMins на

if (numMins < 10)
    numMins = "0" + numMins;
0 голосов
/ 08 июля 2010
if (numSecs < 10)
      numSecs = "0" + numSecs;
      if  (numMins < 10)
      numMins = "0" + numMins;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...