Автор оригинала: Pankaj Kumar.
В этом руководстве мы будем говорить о времени. Не волнуйтесь, это не скучное обучение истории, скорее мы будем смотреть на разные способы конвертации Время в секундах к Время в часы, минуты и секундах Отказ
Движение вперед Мы будем ссылаться на время в часах, минутах и секундах, как Время в предпочтительном формате.
Это будет выглядеть так:
2:46:40
Давайте возьмем некоторое время и подумайте о проблеме под рукой. Без сомнения, Python имеет удивительные модули для совершения преобразования для нас. Но давайте попробуем сначала написать нашу собственную программу, прежде чем перейти к встроенным модулям.
Создание пользовательской функции для преобразования времени в часы минут и секунды
Чтобы написать нашу собственную функцию преобразования, мы сначала должны думать о проблеме математически.
Как вы преобразуете секунды в предпочтительный формат?
Вы должны получить значение Часы, минуты и секунды.
Мы будем предполагать, что время в секундах не превышает общее количество секунд в день. Если мы сделаем, мы разделим его с общим количеством секунд в день и возьми остаток.
Это математически представлено как:
seconds = seconds % (24 * 3600)
% Оператор дает остаток.
24 * 3600 С одного часа есть 3600 секунд (60 * 60) И однажды имеет 24 часа.
После этого мы можем продолжить и рассчитать часовое значение с секунды.
1. Получите значение часа
Чтобы получить значение часа с секунды, мы будем использовать Пол Дивизион Оператор (//).
Это возвращает Интегральная часть частного.
Поскольку нам нужно количество часов, мы разделим общее количество секунд (n) на общее количество секунд за час (3600).
Математически это представлено как:
hour = seconds // 3600
После этого нам нужно Рассчитайте минуты.
2. Получите минуту
Для расчета стоимости минут нам нужно сначала разделить общее количество секунд на 3600 и пройти остаток.
Математически это представлено как:
seconds = seconds % 3600
Теперь для расчета стоимости минут от приведенного выше результата мы снова будем использовать оператор пола.
minutes = seconds // 60
Минута имеет шестьдесят секунд, следовательно, мы пола цени о секундах с 60.
После расчета минутного значения мы можем двигаться вперед в Рассчитайте значение секунд для нашего предпочтительного формата.
3. Получите значение секунд
Чтобы получить значение секунд, мы снова должны разделить общее количество секунд на количество секунд за одну минуту (60) и возьми остаток.
Математически это делается следующим образом:
seconds = seconds % 60
Это даст второе значение, которое нам нужно для нашего предпочтительного формата.
4. Полный код
Давайте компилируем вышеупомянутые знания в функции Python.
def convert_to_preferred_format(sec): sec = sec % (24 * 3600) hour = sec // 3600 sec %= 3600 min = sec // 60 sec %= 60 print("seconds value in hours:",hour) print("seconds value in minutes:",min) return "%02d:%02d:%02d" % (hour, min, sec) n = 10000 print("Time in preferred format :-",convert(n))
Выход:
seconds value in hours: 2 seconds value in minutes: 46 Time in preferred format :- 02:46:40
Использование модуля времени
Теперь давайте посмотрим на встроенный модуль, который позволяет нам преобразовать секунды в наш предпочтительный формат в одной строке кода.
модуль времени Определяет эпоху как 1 января 1970, 00:00:00 (UTC) в системах Unix (зависит от системы). Эпоха в основном является началом времени для компьютера. Подумайте об этом как о дне 0. Всякий раз, когда мы преобразуем секунды, используя модуль времени, эта эпоха используется в качестве контрольной точки.
Чтобы вывести эпоху в вашей системе, используйте следующую строку кода:
time.gmtime(0)
Для преобразования секунд в предпочтительный формат используйте следующую строку кода:
time.strftime("%H:%M:%S", time.gmtime(n))
Эта строка занимает время в секундах как «n», а затем позволяет вам выводить час, минуту и второе значение отдельно.
Полный код Python выглядит следующим образом:
import time n=10000 time_format = time.strftime("%H:%M:%S", time.gmtime(n)) print("Time in preferred format :-",time_format)
Выход:
Time in preferred format :- 02:46:40
Время модуля также дает вам возможность отображать дополнительную информацию, такую как день, месяц и год.
% а. | Отображение сокращенного имени недели. |
% А. | Отображать полное имя будней. |
% B. | Отображение сокращенного месяца. |
% B. | Отображать имя полного месяца. |
% C. | Отображение соответствующей даты и времени представления. |
% D. | Отображать день месяца как десятичное число [01,31]. |
Давайте попробуем использовать % а и % b Отказ
import time n=100000000000 time_format = time.strftime("Day: %a, Time: %H:%M:%S, Month: %b", time.gmtime(n)) print("Time in preferred format :-",time_format)
Выход:
Time in preferred format :- Day: Wed, Time: 09:46:40, Month: Nov
Использование модуля DateTime
Вы также можете использовать Метод TimeDelta под Модуль DateTime Для преобразования секунд в предпочтительный формат.
Это отображает время в качестве дней, часов, минут и секунды, прошедших после эпохи.
Код Python для преобразования секунды в предпочтительный формат с использованием модуля DateTime выглядит следующим образом:
import datetime n= 10000000 time_format = str(datetime.timedelta(seconds = n)) print("Time in preferred format :-",time_format)
Выход:
Time in preferred format :- 115 days, 17:46:40
Заключение
Этот учебник посмотрел на три разных способа, которые вы можете использовать для преобразования секунд в часы, минуты и секундах. В целом есть два разных способа, чтобы решить проблему.
Либо вы пишете свою собственную функцию или используете встроенный модуль. Мы начали с написания нашей собственной функции, а затем посмотрели на время и Datetime модуль.