Класс date
Объект date позволяет работать с датой:
import datetime
a = datetime.date(2021, 1, 26)
print(a)
То есть вывод даты будет соответствовать тому, что вы пропишете в коде:
2021-01-26
Здесь date — конструктор класса date. Этот конструктор принимает 3 аргумента: год, месяц, день. Также присутствует переменная a — объект date.
Если надо получит текущую дату, используем уже знакомый метод today.
from datetime import date
today = date.today()
print("Какая сегодня дата:", today)
Вывод на момент проверки:
Какая сегодня дата: 2021-01-26
Также существует возможность создавать объекты date, используя метку времени — timestamp. Этот термин используется при обозначении времени POSIX — подразумевается число секунд, которые прошли с 00:00:00 UTC 1.01.1970 г. Для преобразования метки времени в дату в Python используют метод fromtimestamp.
Из объекта date можно без проблем получить текущие значения дня, года, месяца:
from datetime import date
today = date.today()
print("Какой сейчас год:", today.year)
print("Какой сейчас месяц:", today.month)
print("Какой сегодня день:", today.day)
А вот и результат:
Класс time
Экземпляр класса time отвечает за время, куда входит широкий спектр данных (data): и часы, и минуты, и секунды, и даже микросекунды.
Давайте опять передадим любые атрибуты, но чуть изменим код.
from datetime import time
a = time(11, 34, 56)
print("часы =", a.hour)
print("минуты =", a.minute)
print("секунды =", a.second)
print("микросекунды =", a.microsecond)
Следует обратить внимание, что аргумент microsecond передан не был. В результате было присвоение дефолтное значение, равное нулю.
Класс datetime
Включает в себя информацию и о дате, и о времени.
Первые 3 аргумента обязательны для конструктора datetime — это year, month и day. Значения, которые отсутствуют, заполняются нулями.
Дополнительно можно прописать вывод метки времени:
Если же нужны значения текущего момента времени, получить его можно как посредством метода now, так и посредством метода today. В примере ниже задействован и now, и today:
Класс timedelta
Объект, называемый timedelta, позволяет получить разницу между 2-мя моментами времени. Вот, как это работает:
Приведем еще один пример с time delta:
Выше были созданы 2 timedelta-объекта — t1 и t2. Их разница и была выведена на экран.
Если нужна более подробная информация о timedeltas , лучше всего заглянуть в официальную документацию.
Формат
Даты (dates), как и времена (times), могут быть представлены в разных странах по-разному. В США чаще применяют формат «MM/DD/YYYY» (months, days, years), в Соединенном Королевстве — «DD/MM/YYYY» (days, months, years). В языке программирования Python для работы с форматами существуют специальные методы: strftime и strptime.
Метод strftime определяется в классах time, date и datetime. Он позволит создать форматированную строку на основе заданного объекта.
Давайте отформатируем дату посредством strftime:
Если же надо преобразовать строку в объект datetime, используют уже strptime.
Обработка часового пояса
Представим, что мы работаем над проектом, в котором надо обеспечить отображение даты и времени с учетом от часового пояса пользователей. Получить нужные данные (data) и обработать часовой пояс можно самостоятельно, но лучше всего воспользоваться готовым модулем pytZ.
Что здесь что: datetime_NY и datetime_London представляют собой объекты datetime, которые содержат текущее время и дату соответствующего часового пояса. Как видите, ничего сложного.
Do'stlaringiz bilan baham: |