Враг трусливо наступал (Из передовицы 1941 года.).

Python 3 – Дата и время

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Python 3 - Дата и время
Программа Python может обрабатывать дату и время несколькими способами. Преобразование между форматами даты является общей рутиной для компьютеров. Модули времени и календаря в Python помогают отслеживать дату и время.

Что такое Tick?

Временные интервалы числа с плавающей точкой в ​​секундах. Особые моменты времени выражаются в секундах с 12:00, 1 января 1970 (эпохи).

Существует модуль time доступный в Python, который обеспечивает функции для работы со временем, и для преобразования между представлениями. Функция time.time() возвращает текущее системное время в тиках, с 12:00, 1 января 1970 (эпоха).

Пример

 

Это произведет следующий результат:

 

Расчет даты легко сделать с тиками. Однако дата до эпохи не могут быть представлены в таком виде. Даты в далеком будущем, также не могут быть представлены следующим образом – точка отсечки где-то в 2038 для UNIX и Windows.

Что такое TimeTuple?

Многие из функций времени в языке Python обрабатывают время как кортеж из 9 цифр, как показано ниже:

Индекс поле Значения
0 4-значный год 2016
1 Месяц От 1 до 12
2 День От 1 до 31
3 Час 0 до 23
4 Минута От 0 до 59
5 Секунда От 0 до 61 (60 или 61 являются високосными секундами)
6 День недели От 0 до 6 (0 понедельник)
7 День года 1 до 366 (Юлианский день)
8 Летнее время -1, 0, 1, -1 означает библиотека определяет DST

Для примера:

 

Это произведет следующий результат:

 

Кортеж выше эквивалентен структуре struct_time. Эта структура имеет следующие атрибуты:

Индекс Атрибуты Значения
0 tm_year 2016
1 tm_mon От 1 до 12
2 tm_mday От 1 до 31
3 tm_hour 0 до 23
4 tm_min От 0 до 59
5 tm_sec От 0 до 61 (60 или 61 являются високосными секундами)
6 tm_wday От 0 до 6 (0 понедельник)
7 tm_yday 1 до 366 (Юлианский день)
8 tm_isdst -1, 0, 1, -1 означает библиотека определяет DST

Получение текущего времени

Для того, чтобы перевести расчет времени от нескольких секунд, так как значение с плавающей точкой эпохи в timetuple, передается значение с плавающей запятой в функцию (например, localtime), которая возвращает timetuple со всеми действующими девятью пунктами.

 

Это произведет следующий результат, который может быть отформатирован в любую другую объектную форму:

Получение отформатированного времени

Вы можете отформатировать в любое время в соответствии с вашим требованием, но простой метод, чтобы получить время в читабельном формате asctime():

 

Это покажет следующий результат:

Получение календаря за месяц

Модуль calendar предоставляет широкий спектр методов, чтобы играть с годовыми и ежемесячными календарями. Здесь мы печатаем календарь для данного месяца (январь 2017):

 

Это выведет следующий результат:

Модуль time

Существует модуль time, доступный в Python, который обеспечивает функции для работы со временем и для преобразования между представлениями. Вот список всех доступных методов.

S.No. Описание функции
1 time.altzone – Смещение часового пояса DST, в секундах к западу от UTC, если он определен. Он является отрицательным, если локальный часовой пояс DST находится к востоку от UTC (как и в Западной Европе, включая Великобританию). Используйте его, если светлое время суток не равно нулю.
2 time.asctime([tupletime]) – Принимает тайм-кортеж и возвращает читаемую строку 24 символов, такую как «Fri Sen 29 10:00:01 2017».
3 time.clock() – Возвращает текущее время CPU с плавающей точкой количества секунд. Для измерения вычислительных затрат различных подходов, значение time.clock является более полезным, чем time.time().
4 time.ctime([secs]) – Как asctime (localtime(сек)) и без аргументов, как asctime()
5 time.gmtime([secs]) – Принимает значение, выраженное в секундах с начала эпохи и возвращает кортеж с временем в формате UTC. Note − t.tm_isdst всегда 0
6 time.localtime([secs]) – Принимает значение, выраженное в секундах с началом эпохи и возвращает кортеж с местным временем (t.tm_isdst равен 0 или 1, в зависимости от того, применяется ли DST к мгновенным секундам по локальным правилам).
7 time.mktime(tupletime) – Принимает значение, выраженное как тайм-кортеж по местному времени и возвращает значение с плавающей точкой с моментом, выраженным в секундах с началом эпохи.
8 time.sleep(secs) – Приостановка вызывающего потока за secs секунд.
9 time.strftime(fmt[, tupletime]) – Принимает мгновение, выраженное как тайм-кортеж по местному времени и возвращает строку, представляющий момент, как указано в строках FMT.
10 time.strptime(str, fmt = ‘%a %b %d %H: %M: %S %Y’) – Анализирует ул соответствии с форматом строки fmt и возвращает мгновенно, в формате времени кортежа.
11 time.time() – Возвращает текущий момент времени, число с плавающей точкой секунд с начала эпохи.
12 time.tzset() – Сбрасывает правила преобразования времени, используемые подпрограммами библиотеки. Переменной среды TZ определяет, как это делается.

 

Есть два важных атрибута, доступных с модулем времени. Это:

S.No. Атрибут & Описание
1 time.timezone

Атрибут time.timezone это смещение в секундах местного часового пояса (без ДСТ) от UTC (> 0 в Северной и Южной Америке; <= 0 в большинстве стран Европы, Азии, Африки).

2 time.tzname

Атрибут time.tzname представляет собой пару локально-зависимых строк, которые являются именами местного часового пояса без и с DST, соответственно.

Модуль calendar

Модуль calendar предоставляет функции календаря, связанные, в том числе с функциями для печати текста календаря за определенный месяц или год.

По умолчанию, календарь начинается в понедельник, как первый день недели и воскресенье как последний. Чтобы изменить это, вызовите функцию calendar.setfirstweekday().

Ниже приведен список функций, доступных с модулем calendar:

S.No. Описание функции
1 calendar.calendar(year,w = 2,l = 1,c = 6)

Возвращает многострочную строку с календарем на год, отформатированный в три колонки, разделенных пробелами. w – ширина в символах каждой даты; каждая линия имеет длину 21 * W + 18 + 2 * с. I – количество строк для каждой недели.

2 calendar.firstweekday()

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

3 calendar.isleap(год)

Возвращает True, если год является високосным; в противном случае значение False.

4 calendar.leapdays(y1,y2)

Возвращает общее количество високосных дней в последующие годы в пределах диапазона (y1, y2).

5 calendar.month(year,month,w = 2,l = 1)

Возвращает многострочную строку с календарем месяца года, одну строку в неделю плюс две строки заголовка. w – ширина символов каждой даты; каждая строка имеет длину 7*w+6. I – количество строк для каждой недели.

6 calendar.monthcalendar(год, месяц)

Возвращает список целых чисел. Каждый сублист обозначает неделю. Дней за месяц и год устанавливаются в 0; дней в течение месяца будут установлены в дней в месяце, 1 и выше.

7 calendar.monthrange (год, месяц)

Возвращает два числа. Первый-это код дня недели для первого дня месяца в году; второй-количество дней в месяце. Коды дней недели-от 0 (понедельник) до 6 (воскресенье); число месяцев-от 1 до 12.

8 calendar.prcal(year,w = 2,l = 1,c = 6)

Как печать calendar.calendar(year,w,l,c).

9 calendar.prmonth(year,month,w = 2,l = 1)

Как печать calendar.month(year,month,w,l).

10 calendar.setfirstweekday(день недели)

Устанавливает первый день каждой недели в будний день недели. Будние коды 0 (понедельник) до 6 (воскресенье).

11 calendar.timegm(tupletime)

Обратное time.gmtime: принимает мгновенную форму время-кортеж и возвращает тот же самый момент, как число с плавающей точкой в секундах с начала эпохи.

12 calendar.weekday(год, месяц, день)

Возвращает код дня недели для указанной даты. Коды дней недели-от 0 (понедельник) до 6 (воскресенье); числа месяцев-от 1 (январь) до 12 (декабрь).

Другие модули и функции

Если вы заинтересованы, то здесь вы найдете список других важных модулей и функций, предназначенные для обработки даты и времени в Python:

  • Модуль datetime
  • Модуль pytz
  • Модуль dateutil

 

Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close