<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

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

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Работа со временем в Python

Работа со временем в Python

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

Базовым термином при работе со временем в Python является термин tick - тик. Данный термин означает количество секунд прошедших с 12:00 1 января 1970. Эта дата по другому называется - эпоха. Временные интервалы представлены количеством секунд (число с плавающей точкой), прошедших с начала данной эпохи.

Модуль Python time позволяет манипулировать датой и временем. Функция time.time() возвращает текущее время системы в тиках начиная с эпохи.

Пример:

# импорт модуля
import time

sec = time.time()
print( 'Количество секунд прошедших с 12:00 1 Января 1970 составляет ' + sec  )

С данным представлением времени в тиках очень легко и удобно производить различные арифметические операции. Но, учтите что диапазон дат, которыми можно манипулировать с помощью данного модуля ограничен снизу 1970, и сверху 2038 годами. Т.е. даты раньше и позже представлены быть не могут с помощью данного модуля.

Следующей базовой компонентой работы с датой и временем в Python является так называемый "кортеж времени - TimeTuple". О кортежах я уже рассказывал, кратко напомню, что это просто нередактируемые списки.

Итак, TimeTuple - это на самом деле класс time.struct_time, который расширяет встроенный в Python класс tuple. Если вы уже знакомы с PHP или Java, то такие термины как класс и наследование должны быть вам знакомы. И так как Python мультипарадигменный язык в нем присутствуют классы и ООП, но об этом уже в другой статье. Состав объекта TimeTuple:

Индекс  Поле класса      Атрибут          Пример значения
0       год - 4 цифры    tm_year          2019
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

Здесь Атрибут - это поле объекта, к которому можно обращаться через оператор точка [.]. Далее я покажу пример.

Как получить текущее время в Python?

Цифровое представление удобно для компьютера, но не для человека, поэтому, чтобы преобразовать секунды в объект struct_time, с которым уже понятнее работать, нам необходимо выполнить следующее:

from time import localtime, time

loc = localtime( time() )
print ('Ваше текущее время '  + loc) 

# Результат
# time.struct_time(tm_year=2019, tm_mon=11, tm_mday=9, tm_hour=13, tm_min=37, tm_sec=1, tm_wday=5, tm_yday=313, tm_isdst=0)

# пример того, как можно обращаться к полю объекта
print ( 'До конца года осталось: ' + 366 - loc.tm_yday )  

Как отформатировать время?

В модуле time много разных функции, одна из таких функции time.strftime предназначена для форматирования даты в соответствии с определенным шаблоном. По своему функционалу она похожа на такую же функцию из PHP, разве что формат строки будет несколько отличен.

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

import time

ft = time.strftime('%d/%m/%Y %H:%M:%S')
print( ft )

# '09/11/2019 17:31:11'

%d, %m, %Y и др. - это спецификаторы, представляющие какой-то отдельный компонент времени. Таких спецификаторов более 30.

Таким образом, Python позволяет очень просто работать с датой и временем, а также форматировать время, представленное количеством секунд в любой удобный формат.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.