Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сложение времени 
V
    Опции темы
niki
Дата 15.4.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



 Доброе утро.
У меня есть 2 поля, в которых стоит время. В третьем поле должна быть сумма этих двух полей.

document.getElementById("Input1").value.="08:25"

document.getElementById("Input2").value.="01:53"

результат

document.getElementById("Input3").value.="10:18"

Посоветуйте пожалуиста как  правильно и корректно вычислять сумму.

спасибо

 smile 
PM   Вверх
GZep
Дата 15.4.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 2
Всего: 32



а как складываться должны? все вместе или часы отдельно, мин отдельно?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
niki
Дата 15.4.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Я думаю все вместе.
PM   Вверх
vasac
Дата 15.4.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Разбить по ":" на часы/минуты, привести к числам, сложить. Обработать переполнение минут. Какие проблемы?
Единственный подводный камень, который в таких случаях часто пропускают, это то, что запись числа начинающуюся с "0" JS считает восьмеричной. Поэтому нули слева удаляем.
PM WWW   Вверх
Alx
Дата 15.4.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--//
function sumTime()
{   var t1 = document.getElementById('time1').value;
    var t2 = document.getElementById('time2').value;
    var resMin = 0, resSec = 0;
    
    var arr1 = t1.replace('0','').split(":");
    var arr2 = t2.replace('0','').split(":");

    resMin = parseInt(arr1[0])+parseInt(arr2[0]);
    resSec = parseInt(arr1[1])+parseInt(arr2[1]);
    if(resSec>=60)
    {   resSec -= 60;
        resMin++;
    }
    if(resMin>=24) resMin -= 24;

    if(resMin < 10) resMin = '0'+resMin.toString();
    if(resSec < 10) resSec = '0'+resSec.toString();

    document.getElementById('time3').innerHTML = resMin + ":" + resSec;
}
//-->
</script>
</head>
<body>
<input type="text" id="time1" value="12:23" maxlength="5" size="4" /> + <input type="text" id="time2" value="13:37" maxlength="5" size="4" /> <input type="button" value=" = " onclick="sumTime();" /> <span id="time3">&nbsp;</span>
</body>
</html>


 smile 

Это сообщение отредактировал(а) Alx - 15.4.2007, 12:31


--------------------
PM MAIL WWW ICQ   Вверх
AKS
Дата 15.4.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



niki, вот ма-а-аленький примерчик (часы:минуты):
Код

// получая строку из текстового поля, преобразует в числа
function A(aValue) {
    var result = aValue.split(':');
    result[0] *= 1;
    result[1] *= 1;
    return result;
}
// создает объект даты и устанавливает новые часы и минуты
// получает каждое значение отдельно и формирует строку
function B(aValue1, aValue2) {
    var d = new Date;
    d.setHours(aValue1[0] + aValue2[0],
               aValue1[1] + aValue2[1]);
    return d.getHours() + ':' + d.getMinutes();
}
// пример сложения двух значений времени
alert(B(A('04:20'), A('24:55')));

PM MAIL   Вверх
niki
Дата 15.4.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 16.4.2006

Репутация: нет
Всего: нет



Огромное спасибо всем , кто мне ответил.

Niki


PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.