Перевести секунды в часы минуты секунды
Онлайн калькулятор поможет выразить время из секунд перевести в часы минуты секунды. Введите секунды и получите результат в формате: Часы (ч, h); Минуты (мин, min); Секунды (сек, sec).
Например переведём 83540 секунд:
1. Разделим на 3600 и узнаем сколько часов — 83540 / 3600 = 23 (целых) часа.
2. Получим остаток 83540 — 23 × 3600 = 740 секунд и разделим на 60, получаем 12 (целых) минут.
3. Получим остаток 740 — 12 × 60 = 20 — это будут оставшиеся секунды.
Получаем в итоге 83540 секунд — это 23 часа, 12 минут и 20 секунд.
Как перевести секунды в часы и минуты?
Иногда возникают задачи, требующие перевода интервала, представленного в секундах, в пригодном для восприятия виде. Стандартных функций для этого нет, поэтому придется экспериментировать самим. Давайте представим, что у нас есть переменная, содержащая наш интервал:
КоличествоСекунд = 7210;
Все мы знаем, что в одном часе 3600 секунд (60 минут по 60 секунд), поэтому, если мы разделим наш интервал на 3600, то получим в целой части количество часов, а в остатке количество секунд, которые могут быть и минутами, и секундами:
//получаем часы Часы = Цел(КоличествоСекунд / 3600); //считаем остаток ОстатокСекунд = КоличествоСекунд - Часы * 3600; //или ОстатокСекунд = КоличествоСекунд % 3600;
В идеале нам нужны только два оператора:
- оператор деления /
- оператор остатка от деления %
Теперь нам нужно аналогичным образом получить количество минут:
//получаем минуты Минуты = Цел(ОстатокСекунд / 60);//в минуте 60 сек
Ну, а остаток — это наши секунды:
Секунды = ОстатокСекунд % 60;
Давайте посмотрим, что мы получили:
Сообщить("" + Часы + " часов, " + Минуты + " минут, " + Секунды + " секунд"); //Результат: // 2 часов, 0 минут, 10 секунд
Если собрать все воедино, наша функция будет выглядеть так:
Функция ПериодЧасыМинутыСекунды(Знач КоличествоСекунд) Перем Часы, Минуты, Секунды; //получаем часы Часы = Цел(КоличествоСекунд / 3600); //считаем остаток КоличествоСекунд = КоличествоСекунд % 3600; //получаем минуты Минуты = Цел(КоличествоСекунд / 60);//в минуте 60 сек //остались секунды Секунды = КоличествоСекунд % 60; Возврат ("" + Часы + " часов, " + Минуты + " минут, " + Секунды + " секунд"); КонецФункции
Попробуйте самостоятельно доработать ее так, чтобы она считала еще и количество дней)
Конвертация из секунд в дни, часы, минуты и секунды
Требуется написать структуру времени, метод set получает в параметры кол-во секунд в единицах. Ошибка возникает когда ввожу в метод, к примеру, -600. Поля становятся равными -1 23 49 0, а должны -1 23 50 0. Подскажите, в чём проблема.
Отслеживать
задан 19 мар 2021 в 19:41
Максим Филимонов Максим Филимонов
85 1 1 серебряный знак 9 9 бронзовых знаков
Какой алгоритм пересчёта отрицательных секунд в дни, часы и т.д.? Почему -600 это -1 23 50 0 , а не, например, минус 10 минут?
19 мар 2021 в 19:47
@wololo, к примеру, -1 секунда = — 1 день 23 часа 59 минут 59 секунд, то есть -24:00:00+23:59:59 = -1, где -1 день, который добавляется к отрицательным дням с остатком.
19 мар 2021 в 19:51
Иными словами, если к -1 23 59 59 прибавить одну секунду то это будет 0 0 0 0
19 мар 2021 в 19:52
@wololo, будет -1 23 59 59
19 мар 2021 в 19:58
@wololo, 1 23 59 59
19 мар 2021 в 20:01
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Полагаю, вам нужно что-то вроде такого:
#include #include using std::cout; using std::endl; struct my_time < long long day, hour, minute, second; my_time& set(long long t) < const long long SECONDS_IN_MINUTE = 60LL; const long long SECONDS_IN_HOUR = SECONDS_IN_MINUTE * 60LL; const long long SECONDS_IN_DAY = SECONDS_IN_HOUR * 24LL; day = t / SECONDS_IN_DAY; t -= day * SECONDS_IN_DAY; if (t < 0) < --day; t += SECONDS_IN_DAY; >hour = t / SECONDS_IN_HOUR; t -= hour * SECONDS_IN_HOUR; minute = t / SECONDS_IN_MINUTE; t -= minute * SECONDS_IN_MINUTE; second = t; return *this; > >; std::ostream& operator <<(std::ostream& out, const my_time& mt) < out << " " << std::setw(3); out << mt.day << " " << std::setw(2); out << mt.hour << " " << std::setw(2); out << mt.minute << " " << std::setw(2); out << mt.second; return out; >void print(long long t) < cout int main() < const long long test[] = < 600, -600, 0, 1, 86399, 86400, 86401, 172799, 172800, 172801, -1, -86399, -86400, -86401, -172799, -172800, -172801 >; for (auto t: test) print(t); >
t: 600 my_time: 0 0 10 0 t: -600 my_time: -1 23 50 0 t: 0 my_time: 0 0 0 0 t: 1 my_time: 0 0 0 1 t: 86399 my_time: 0 23 59 59 t: 86400 my_time: 1 0 0 0 t: 86401 my_time: 1 0 0 1 t: 172799 my_time: 1 23 59 59 t: 172800 my_time: 2 0 0 0 t: 172801 my_time: 2 0 0 1 t: -1 my_time: -1 23 59 59 t: -86399 my_time: -1 0 0 1 t: -86400 my_time: -1 0 0 0 t: -86401 my_time: -2 23 59 59 t: -172799 my_time: -2 0 0 1 t: -172800 my_time: -2 0 0 0 t: -172801 my_time: -3 23 59 59
Конвертер секунды в Часы:Минуты:Секунды
Онлайн конвертер секунды в Часы:Минуты:Секунды поможет вам конвертировать секунды в формат HH:MM:SS.
Инструменты для украшения и уменьшения
Украшатель CSS
Украшает, форматирует и сделает CSS код более читаемым.
Уменьшитель CSS
Сделает CSS код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.
Украшатель HTML
Украшает, форматирует и сделает HTML код более читаемым.
Уменьшитель HTML
Сделает HTML код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.
Украшатель Javascript
Украшает, форматирует и сделает Javascript код более читаемым.
Уменьшитель Javascript
Сделает Javascript код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.
Обфускатор Javascript
Сделает Javascript код более сложным для понимания или чтения для защиты.
Украшатель JSON
Украшает, форматирует и сделает JSON код более читаемым.
Уменьшитель JSON
Сделает JSON код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.
Украшатель XML
Украшает, форматирует и сделает XML код более читаемым.
Уменьшитель XML
Сделает XML код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.
Украшатель OPML
Украшает, форматирует и сделает OPML код более читаемым.
Уменьшитель OPML
Сделает OPML код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.
Украшатель SQL
Украшает, форматирует и сделает SQL код более читаемым.
Уменьшитель SQL
Сделает SQL код уменьшенным, сжатым путем удаления новых строк, пробелов, комментариев и отступов.