Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 228

Календари и часы

295

>>> now.day

2

>>> now.hour

23

>>> now.minute

15

>>> now.second

34

>>> now.microsecond

694988

Вы можете объединить объекты date и time в объект datetime с

с помощью

помощью мето-

помощью мето-

да combine():

>>> from datetime import datetime, time, date

>>> noon = time(12)

>>> this_day = date.today()

>>> noon_today = datetime.combine(this_day, noon)

>>> noon_today

datetime.datetime(2014, 2, 2, 12, 0)

Вы можете получить объекты date и time из объекта datetime с

с помощью

помощью мето-

помощью мето-

дов date() и time():

>>> noon_today.date()

datetime.date(2014, 2, 2)

>>> noon_today.time()

datetime.time(12, 0)

Модуль time

В Python имеется модуль datetime, имеющий объект time, а также отдельный модуль

time, что создает путаницу. Дальше — больше, в модуле time имеется функция с име-

нем — что вы подумали? — time().

Одним из способов представления абсолютного времени является подсчет ко-

личества секунд, прошедших с некоторой стартовой точки. В Unix используется

количество секунд, прошедших с полуночи 1 января 1970 года (примерно в это

время появилась система Unix). Это значение часто называют epoch, и зачастую оно

является простейшим способом обмениваться датой и временем между системами.

Функция time() модуля time возвращает текущее время как значение epoch:

>>> import time

>>> now = time.time()

>>> now

1391488263.664645

Если выполнить подсчеты, вы увидите, что прошло более миллиарда секунд

после наступления нового, 1970 года. И куда ушло время?

296

Глава 10. Системы