>31
>>>> halloween.month
>10
>>>> halloween.year
>2014
Вы можете вывести на экран содержимое объекта date с помощью его метода isoformat():
>>>> halloween.isoformat()
>'2014-10-31'
iso в данном контексте ссылается на ISO 8601 — международный стандарт для представления даты и времени. В этом формате мы записываем дату, начиная с самого общего элемента (год) и заканчивая самым точным (день). С его помощью можно также корректно отсортировать даты: сначала по году, затем по месяцу, затем по дню. Я обычно выбираю этот формат для представления данных в программах и для имен файлов, которые сохраняют данные по дате. В следующем разделе будут показаны более сложные методы strptime() и strftime() для анализа и форматирования дат.
В этом примере метод today() используется для генерации сегодняшней даты:
>>>> from datetime import date
>>>> now = date.today()
>>>> now
>datetime.date(2014, 2, 2)
В следующем примере объект timedelta используется для того, чтобы добавить к объекту date некоторый временной интервал:
>>>> from datetime import timedelta
>>>> one_day = timedelta(days=1)
>>>> tomorrow = now + one_day
>>>> tomorrow
>datetime.date(2014, 2, 3)
>>>> now + 17*one_day
>datetime.date(2014, 2, 19)
>>>> yesterday = now — one_day
>>>> yesterday
>datetime.date(2014, 2, 1)
Объект date может иметь значение из диапазона, начинающегося с date.min (year=1, month=1, day=1) и заканчивающегося date.max (year=9999, month=12, day=31). Вы не можете использовать его для исторических или астрономических расчетов.
Объект time модуля datetime применяется для представления времени дня:
>>>> from datetime import time
>>>> noon = time(12, 0, 0)
>>>> noon
>datetime.time(12, 0)
>>>> noon.hour
>12
>>>> noon.minute
>0
>>>> noon.second
>0
>>>> noon.microsecond
>0
Порядок аргументов таков: от самой крупной единицы времени (часа) до самой мелкой (миллисекунды). Если вы передадите не все аргументы, объект time предположит, что все они имеют значение 0. Кстати, несмотря на то, что вы можете сохранять и получать миллисекунды, это не значит, что вы можете получить время вашего компьютера с точностью до миллисекунды. Высокая точность измерений зависит от многих факторов, присущих аппаратному обеспечению и операционной системе.
Объект datetime содержит дату и время дня. Вы можете создать такой объект непосредственно, как показано в следующем примере, — мы создадим объект, в который запишем значения «2 января, 2014, 3:04 утра, плюс 5 секунд и 6 миллисекунд»:
>>>> from datetime import datetime
>>>> some_day = datetime(2014, 1, 2, 3, 4, 5, 6)
>>>> some_day
>datetime.datetime(2014, 1, 2, 3, 4, 5, 6)