38 / 38 / 22
Регистрация: 15.12.2013
Сообщений: 208
1

Сумма двух времён

08.10.2019, 09:52. Показов 1090. Ответов 1

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Поиск в сети не дал нужной информации, обращаюсь за помощью к гуру.
Имеются две переменные:
PHP
1
2
$time1 = "02:04.36";
$time2 = "02:05.88";
Это время в формате "i:s.u", т.е. минуты-секунды-миллисекунды. Как их сложить и потом получить время в таком же формате "i:s.u"?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2019, 09:52
Ответы с готовыми решениями:

Программа содержащая функции, ввода времён, печати времён, и логическая функция
Для структуры struct time { int s, m, h; }; time t1, t2; требуется написать программу,...

Разность двух дат и времен
DateTime date1 = DateTime.Now; DateTime date2 = alarmTime; string...

Равна ли сумма двух первых цифр числа сумме двух его последних
Определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его...

Установить, что сумма двух первых цифр равна сумме двух последних
Найти все трехзначные числа, удовлетворяющие условию: сумма двух первых цифр равно сумме двух...

1
56 / 50 / 22
Регистрация: 17.03.2014
Сообщений: 142
08.10.2019, 12:01 2
Лучший ответ Сообщение было отмечено michaelukolov как решение

Решение

Как-то так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$time = array("02:04.36", "02:05.88");
 
foreach ($time as &$item)
{
    $item = str_replace('.', ':', $item);
    $item = preg_replace("/^([\d]{1,2})\:([\d]{2})$/", "00:$1:$2", $item);
    sscanf($item, "%d:%d:%d", $minutes, $seconds, $milliseconds);
    $item = $minutes * 6000 + $seconds * 100 + $milliseconds;
}
 
$sum = array_sum($time);
 
$millisec = $sum % 100;
$sum = intval($sum / 100);
$sec = $sum % 60;
$min = intval($sum / 60);
 
$result = "$min:$sec.$millisec";
Добавлено через 57 минут
Вариант, чтобы решить проблему ведущих нулей а формате записи, код используется после получения переменной sum (11 строка):
PHP
1
$result = date("i:s", $sum/100) . '.' . str_pad($sum%100, 2, '0', STR_PAD_LEFT);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2019, 12:01
Помогаю со студенческими работами здесь

Проверить справедливость утверждения: сумма первых двух цифр равна сумме двух последних
Ввести на форму целое четырехразрядное положительное число. Проверить справедливость утверждения:...

Среди чисел найти все, у которых сумма первых двух равна сумме последних двух
Помогите пожалуйста решить задание: среди четырехзначных чисел из интервала, заданного...

Вывести на экран элементы массива, сумма первых двух цифр равна сумме двух последних
//Массив из n четырехзначных натуральных чисел. //Вывести па экран только те, у которых сумма...

Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних.
Дан массив из n четырёхзначных натуральных чисел. Вывести на экран только те, у которых сумма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru