Python Time: в этой статье мы увидим, как использовать модули Python, связанные с временем и датой.

В этой статье о времени Python мы рассмотрим множество проблем, таких как текущее время, предыдущее время, временной интервал, время эпохи и т. Д.

Давайте начнем с времени первого модуля python time.

Python Time - время:

Сначала импортируйте модуль времени. Затем мы изучим некоторые важные функции модулей времени.

Функция time ()

Функция time () возвращает значение времени с плавающей запятой. Значение с плавающей запятой называется Epoch или Unix Timestamp и определяется как приблизительное количество секунд, прошедших с 00:00:00 по всемирному координированному времени (UTC), четверг, 1 января 1970 г.

Чтобы узнать больше об Epoch, перейдите на сайт https://www.epochconverter.com/.

››› время импорта

››› time.time ()

1534587871.267

Теперь вы можете увидеть значение с плавающей запятой. В некоторых случаях это значение с плавающей запятой очень важно. Например, сравнение времени. Предположим, у вас есть две даты, например, 15 августа 2018 года и 26 января 2018 года. Какая из них больше или новее? Обе даты представлены в строковом формате. Лучше преобразовать даты в значения типа float или int, а затем выполнить сравнение.

Сначала сконвертируйте, а затем поймите основную логику.

››› int (time.mktime (time.strptime ('15 августа 2018 ', ‘% d% b% Y’)))

1534271400

>>>

››› int (time.mktime (time.strptime ('26 января 2018 г.', «% d% b% Y»)))

1516905000

>>>

Теперь вы можете сравнить даты.

Функция strptime () анализирует строку, представляющую время, в соответствии с форматом. Возвращаемое значение - это struct_time, возвращаемая gmtime () или localtime (). Gmtime () возвращает среднее время по Гринвичу, а localtime () возвращает местное время в соответствии с вашим часовым поясом.

См. Следующий пример gmtime () и localtime ().

››› time.gmtime ()

time.struct_time (tm_year = 2018, tm_mon = 8, tm_mday = 18, tm_hour = 13, tm_min = 55, tm_sec = 13, tm_wday = 5, tm_yday = 230, tm_isdst = 0)

>>>

››› time.localtime ()

time.struct_time (tm_year = 2018, tm_mon = 8, tm_mday = 18, tm_hour = 19, tm_min = 25, tm_sec = 26, tm_wday = 5, tm_yday = 230, tm_isdst = 0)

>>>

Функция mktime () принимает time.struct_time

Его аргумент - struct_time или полный 9-кортеж. Он возвращает число с плавающей запятой, означающее эпоху.

Вернемся к функции time.strptime.

Функция time.strptime может преобразовывать удобочитаемую дату в struct_time.

Человеческие даты могут быть разных типов. Человеческие даты могут быть разных типов, например, '15 августа 2018 ', '15 08 2018', '15 08 18' и т. Д. С помощью директив мы можем преобразовать разные типы дат в общий формат.

Разберемся на примерах.

››› time.strptime ('15 августа 2018 г. ', «% d% b% Y»)

time.struct_time (tm_year = 2018, tm_mon = 8, tm_mday = 15, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 2, tm_yday = 227, tm_isdst = -1)

>>>

>>>

››› time.strptime ('15 08 2018 ', «% d% m% г»)

time.struct_time (tm_year = 2018, tm_mon = 8, tm_mday = 15, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 2, tm_yday = 227, tm_isdst = -1)

>>>

››› time.strptime (’15 08 18 ′, «% d% m% y»)

time.struct_time (tm_year = 2018, tm_mon = 8, tm_mday = 15, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 2, tm_yday = 227, tm_isdst = -1)

>>>

Почему я использовал% b,% y,% Y? См. Ниже.

Директива

  • % a - сокращенное название дня недели
  • % A - полное название дня недели
  • % b - сокращенное название месяца
  • % B - полное название месяца
  • % c - предпочтительное представление даты и времени
  • % C - номер века (год, деленный на 100, диапазон от 00 до 99)
  • % d - день месяца (с 01 по 31)
  • % D - то же, что и% m /% d /% y
  • % e - день месяца (с 1 по 31)
  • % g - как% G, но без века
  • % G - год из 4 цифр, соответствующий номеру недели ISO (см.% V).
  • % h - то же, что и% b
  • % H - час в 24-часовом формате (от 00 до 23)
  • % I - час в 12-часовом формате (от 01 до 12)
  • % j - день года (с 001 по 366)
  • % m - месяц (с 01 по 12)
  • % M - минута
  • % n - символ новой строки
  • % p - либо am, либо pm согласно заданному значению времени
  • % r - время до и после полудня. обозначение
  • % R - время в 24-часовом формате
  • % S - второй
  • % t - символ табуляции
  • % T - текущее время, равное% H:% M:% S
  • % u - день недели в виде числа (от 1 до 7), понедельник = 1. Предупреждение: в воскресенье Sun Solaris = 1
  • % U - номер недели текущего года, начиная с первого воскресенья как первого дня первой недели
  • % V - номер недели текущего года по ISO 8601 (от 01 до 53), где неделя 1 - это первая неделя, которая имеет не менее 4 дней в текущем году, а понедельник - первый день недели.
  • % W - номер недели текущего года, начиная с первого понедельника как первого дня первой недели
  • % w - день недели в десятичном формате, воскресенье = 0
  • % x - предпочтительное представление даты без времени
  • % X - предпочтительное представление времени без даты
  • % y - год без века (диапазон от 00 до 99)
  • % Y - год, включая век
  • % Z или% z - часовой пояс или название или аббревиатура
  • %% - буквальный символ%

Если вы укажете сокращенное название месяца, например Aug, Jan, тогда будет использоваться директива% b.

Затем давайте преобразуем эпоху в удобочитаемый формат.

Давайте делать шаг за шагом.

Сначала преобразуйте эпоху в местное время. Как показано ниже.

››› t1 = time.localtime (1534607410.058)

>>> t1

time.struct_time (tm_year = 2018, tm_mon = 8, tm_mday = 18, tm_hour = 21, tm_min = 20, tm_sec = 10, tm_wday = 5, tm_yday = 230, tm_isdst = 0)

>>>

Итак, с помощью функции localtime () время эпохи было преобразовано в формат time_struct.

Следующим шагом является преобразование формата time_struct в удобочитаемую форму. Для этого мы использовали бы функцию time.strftime (). Time.strftime () принимает два аргумента: первый - это формат, а второй - время в формате struct_time или формате кортежа, как показано ниже.

>>>

››› time.strftime («% b% d% Y% H:% M:% S», t1)

‘18 августа 2018 21:20:10’

>>>

››› time.strftime («% m% d% Y% H:% M:% S», t1)

’08 18 2018 21:20:10’

>>>

Итак, вы получили представление о том, как получить удобочитаемый формат эпохи и человека.

Давайте исследуем различные функции.

time.asctime ([t])

Функция time.asctime () преобразует кортеж времени или struct_time в 24-символьную строку следующего вида: «Mon Jun 20 23:21:05 1994». Если аргумент не передан, он возвращает текущее время.

См. Пример ниже.

››› time.asctime ()

«Сб, 18 августа, 22:08:52 2018»

>>>

››› t = time.localtime ()

››› time.asctime (t)

«Сб, 18 августа, 23:07:07 2018»

>>>

Итак, time.asctime () - удобная вещь для получения текущего времени в удобочитаемом формате.

time.ctime ([секунды])

Time.ctime () преобразует секунды в 24-символьную строку следующего вида: «Mon Jun 20 23:21:05 1994». Если аргумент не указан, time.ctime () возвращает текущее время.

Разберемся на примерах. Вывести текущее время.

››› time.ctime ()

«Сб, 18 августа, 23:32:03 2018»

>>>

Когда t = 0

››› time.ctime (0)

«Чт, 1 января, 05:30:00 1970»

Предполагается печатать Thu, 1 January 1970 00:00:00. Но из-за моего часового пояса (IST). Если время по Гринвичу +05: 30, time.ctime (0) возвращает "Thu Jan 01 05:30:00 1970".

Приведем в качестве аргументов 3600 секунд.

››› time.ctime (3600)

«Чт, 1 января, 06:30:00 1970»

>>>

Давайте предоставим текущую временную метку.

››› t = time.time ()

>>> t

1534615399.061

››› time.ctime (1534615399.061)

«Сб, 18 августа, 23:33:19 2018»

>>>

Давайте создадим новое время, используя текущее время.

1 час спустя

››› t = time.time () + 1 * 60 * 60

››› time.ctime (t)

«Вс 19 августа, 00:41:28 2018»

››› time.ctime ()

«Сб, 18 августа, 23:41:33 2018»

>>>

На 1 час раньше

››› t = time.time () - 1 * 60 * 60

››› time.ctime (t)

«Сб, 18 августа, 22:41:55 2018»

>>>

time.sleep (секунда)

Функция time.sleep () приостанавливает выполнение текущего потока на заданное количество секунд. См. Пример кода ниже.

время импорта

напечатать time.asctime ()

время сна (10)

напечатать time.asctime ()

Вывод.

Надеюсь, вам понравилась глава о времени Python.

Источник: www.Learntek.org