-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask3
More file actions
36 lines (30 loc) · 1.31 KB
/
task3
File metadata and controls
36 lines (30 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Определяем константу с информацией о количестве часов в сутках
var HOURS_PER_DAY = 24;
// Определяем константу с информацией сколько минут в часе
var MINUTES_PER_HOUR = 60;
/**
* @param {Number} hours
* @param {Number} minutes
* @param {Number} interval
* @returns {String}
*/
module.exports = function (hours, minutes, interval) {
// Увеличиваем значение минут
minutes += interval;
// Увеличиваем значение часов на количество полных часов в интервале
hours += Math.floor(minutes / MINUTES_PER_HOUR);
// Так как мы увеличили минуты и часы на весь interval, то
// мы можем выйти за пределы 60 минут у часа и 24 часов у суток.
// Исключим эту ситуацию.
minutes %= MINUTES_PER_HOUR;
hours %= HOURS_PER_DAY;
// Используем для формата часов и минут, как в часах 1 -> 01
if (hours < 10) {
hours = '0' + hours;
}
if (minutes < 10) {
minutes = '0' + minutes;
}
// Возвращаем результат
return hours + ':' + minutes;
};