|
|
|
| Время доброе!
Возникла проблема. Есть время X часов N минут] как это время сложить 4 раза.
Например: 2ч11м по 4раза равно 8ч 44м
Или : 1ч 30м по 4 раза это 6ч
тоесть просто умножать нельзя.
Как сделать это в коде c помощью JavaScript a? если кто знает какое решение проблемы сообщите пожалуйста. | |
|
|
|
|
|
|
|
для: absorber
(12.09.2007 в 23:52)
| | А если время 23:31
какой результат будет? | |
|
|
|
|
|
|
|
для: valenok
(13.09.2007 в 16:38)
| | 4 раза 23:31 будет
3дня 22часа 04минут
Как это сделать чтобы считала программа я не пойму =) тк там 60минут а не 100 | |
|
|
|
|
|
|
|
для: absorber
(13.09.2007 в 16:57)
| | тогда запросто.
Если проблема с этим, то вот тебе идея, а пиши сам
23 часа, 37 минут = 60*23 + 37 = 1150 минут.
время = 1150 * 4 = 4600
дни = округлить в низ(время / (60*24)) = 3
время = время - (дни*60*24)ж
часы = округлить_в_низ(время/60)
время = время - часы * 60
минуты = время
Осталось только русские слова заменить на перемнные | |
|
|
|
|
|
|
|
для: valenok
(13.09.2007 в 17:39)
| | спасибо, но, что то не вяжется =)
23 часа, 37 минут = 60*23 + 37 = 1150 минут.
по моим расчетам:
23 часа, 37 минут = 60 умножить 23 плюс 37 = 1 417 минут.
И дальше уже расчет не верный...
И еще
округлить_в_низ(время/60)
Я использовал функцию parseInt(); подойдет. | |
|
|
|
|
|
|
|
для: absorber
(13.09.2007 в 21:26)
| | извините, калькулятор поломался | |
|
|
|
|
|
|
|
для: absorber
(12.09.2007 в 23:52)
| | Я вот одного не понимаю - причём тут Javascript-то?
Вам нужен алгоритм вычисления.
Который потом можно реализовать на любом языке программирования.
Работа со временем (минуты, часы, сутки) - это, по-моему, из курса четвертого класса начальной школы.
Неужто мы здесь собрались, чтобы учить кого-то тому, что он успешно проспал в школе?
1. Какой-то период времени можно отобразить в виде: Д-Ч-М-С, где
Д - дни; Ч - часы; М - минуты; С - секунды
2. Перевести всё это только в секунды надо так:
(Д * 24 * 60 * 60) + (Ч * 60 * 60) + (М * 60) + С = TIME (в секундах)
(вот тут и умножайте TIME хоть на 4, хоть делите на 5 и получайте TIMENEW)
3. Обратный перевод (из секунд в формат Д-Ч-М-С) делается так:
Д = меньшее целое от (TIMENEW : 60 : 60 : 24)
Ч = меньшее целое от ((TIMENEW : 60 : 60) - (Д * 24))
М = меньшее целое от ((TIMENEW : 60) - (Д * 24 * 60) - (Ч * 60))
С = TIMENEW - (Д * 24 * 60 * 60) - (Ч * 60 * 60) - (М * 60)
4. Для Javascript'a меньшее целое определяется при помощи функции Math.floor ()
Если сообразите - "зачем?" - то могу посоветовать ещё и оператор % - он даёт остаток от деления
Двоечнику что-то ещё непонятно? | |
|
|
|
|
|
|
|
для: CNT
(13.09.2007 в 22:59)
| | Спасибо Огромное этот самый алгоритм я и искал =)
Благодаря вам CNT написать программу не составило большого труда.
Правда где применить оператор % я не сообразил =) ну вроде бы и так все работает.
Еще раз спасибо. | |
|
|
|