Основные тезисы
1. Чтобы создать объект date
, Вы должны передать аргументы года, месяца и дня следующим образом:
Объект date
имеет три атрибута (только для чтения): год, месяц и день.
2. Метод today
возвращает объект даты, представляющий текущую местную дату:
3. В Unix отметка времени выражает количество секунд с 1 января 1970 г., 00:00:00 (UTC). Эту дату называют "эпохой Unix", потому что с нее начался отсчет времени в системах Unix. Временная метка на самом деле представляет собой разницу между определенной датой (включая время) и 1 января 1970 года, 00:00:00 (UTC), выраженную в секундах. Чтобы создать объект даты из метки времени, мы должны передать метку времени Unix методу fromtimestamp
:
Примечание: функция time
возвращает количество секунд с 1 января 1970 г. до текущего момента в виде числа с плавающей запятой.
4. Конструктор класса time
принимает шесть аргументов (hour, minute, second, microsecond, tzinfo и fold). Каждый из этих аргументов является необязательным.
5. Модуль time
содержит функцию sleep
, которая приостанавливает выполнение программы на заданное количество секунд, например:
6. В модуле datetime
дата и время могут быть представлены либо как отдельные объекты, либо как один объект. Класс, объединяющий дату и время, называется datetime. Все аргументы, переданные конструктору, переходят в атрибуты класса только для чтения. Это year, month, day, hour, minute, second, microsecond, tzinfo и fold:
7. Метод strftime
принимает только один аргумент в виде строки, определяющей формат, который может состоять из директив. Директива - это строка, состоящая из символа %
(процент) и буквы нижнего или верхнего регистра. Ниже приведены некоторые полезные директивы:
%Y
- возвращает год с столетием в виде десятичного числа;%m
- возвращает месяц в виде десятичного числа с нулями;%d
- возвращает день в виде десятичного числа с нулями;%H
- возвращает час в виде десятичного числа с нулями;%M
- возвращает минуты в виде десятичного числа с нулями;%S
- возвращает секунду как десятичное число с нулевым дополнением.
Пример:
8. Можно выполнять вычисления для объектов date
и datetime
, например:
Результат вычитания возвращается как объект timedelta
, который выражает разницу в днях между двумя датами в примере выше.
Обратите внимание, что также отображается разница в часах, минутах и секундах. Объект timedelta
можно использовать для дальнейших вычислений (например, Bы можете умножить его на 2).
Упражнение 1
Что выведет следующий код?
from datetime import time
t = time(14, 39)
print(t.strftime("%H:%M:%S"))
Упражнение 2
Что выведет следующий код?
from datetime import datetime
dt1 = datetime(2020, 9, 29, 14, 41, 0)
dt2 = datetime(2020, 9, 28, 14, 41, 0)
print(dt1 - dt2)