Рубрики
Без рубрики

Преобразовать время в часы минут и секунды в Python

В этом руководстве мы будем говорить о времени. Не волнуйся, это не скучное обучение истории, скорее мы будем смотреть на разные способы

Автор оригинала: 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 модуль.