Библиотека datetime в Python предназначена для работы с датой с точностью до микросекунд.
В данной библиотеке основные манипуляции производятся при помощи класса datetime.datetime, но в ней существуют так же другие классы, расширяющие возможности управления данными.
Классы доступные из библиотеки datetime.
- .datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None) — Класс описывающий дату начиная с года, заканчивая микросекундами. Нельзя создать несуществующую дату, например, чтобы в феврале было 30 дней.
 - .date(year, month, day) — Класс описывающий дату без учёта времени.
 - .time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None) — Класс для работы только со временем. Год, месяц и ,тем более, день недели в данном классе не учитывается.
 - .timedelta — Класс позволяющий получить разницу между двумя датами, с точностью до микросекунд.
 - .tzinfo — абстрактный базовый класс для информации о временной зоне (например, для учета часового пояса и / или летнего времени).
 
В основном вы получаете дату в виде строки. Чтобы в Python преобразовать строку  «01.01.2000 10:05» в тип данных datetime необходимо применить метод .strptime(time, format). Первым аргументом передайте строку с датой, а вторым форматную строку из спец-символов таблицы, по которой будет разбираться дата и время.
str_time = '01.01.2000 10:05' date_time = dt.strptime(str_time, '%d.%m.%Y %H:%M') # Наличие точек и двоеточий из оригинальной строки обязательно
Таким образом мы получим тип данных datetime с которым можно продолжать работать и преобразовывать
Спецсимволы строк для форматирования даты
| спецзнак | обозначение | 
|---|---|
| %a | неполное название дня недели. (Sun. Mon. ) | 
| %A | полное название дня недели(sunday, monday) | 
| %b | неполное название месяца(Jan. Feb.) | 
| %B | полное название месяца(January. February.) | 
| %c | формат даты с временем | 
| %d | номер дня месяца(01-31) | 
| %-d | номера дня месяца без лидирующего нуля(1-31).  Символ «-» отменяет лидирующие нули во всех спецсимволах.  | 
| %H | час в 24-часовом формате | 
| %I | час в 12-часовом формате | 
| %j | номер дня года(01-366) | 
| %m | номер месяца(01-12) | 
| %M | минуты(00-59) | 
| %p | PM или AM при 12-часовом формате | 
| %S | секунды(0-59) | 
| %U | номер недели в году(0-53) (неделя начинается в вс) | 
| %w | номер дня недели(0-6) | 
| %W | номер недели в году(0-53) (неделя начинается в пн) | 
| %x | только дата | 
| %X | только время | 
| %y | двузначный формат года (00-99) | 
| %Y | четырёхзначный формат | 
| %Z | часовой пояс | 
| %% | знак «%» | 
Точно такую же таблицу можно найти в библиотеке time
Методы datetime
Для работы с методами класса datetime необходимо его импортировать из одноимённой библиотеки datetime. В самом начале файла пропишите следующий код.from datetime import datetime as dt
.now(tz=None) — возвращает текущую дату и время . Возвращаемый объект относится к классу datetime.datetime 
.date(today) — возвращает дату без времени, класс datetime.date. Аргумент today должен являться классом datetime.datetime
.time(today) — возвращает только время, объект класса datetime.time. Аргумент today должен являться классом datetime.datetime.
.weekday(today) — возвращает индекс дня недели, число от 0 до 6 включительно. today должен быть класса datetime.datetime или datetime.date. 
.isoweekday(today) — возвращает номер дня недели, число от 1 до 7 включительно. today должен быть класса datetime.datetime или datetime.date. 
.timetuple() — применяется к объекту класса datetime  и преобразует его в struct_time. Возвращает новое значение. struct_time — специальный тип данных из библиотеки time.
.strftime(format) — применяется к объекту класса datetime, преобразует его в строку и возвращает её. Преобразование происходит согласно аргумету format. format составляется из спецсимволов таблицы выше.
.strptime(str_time, format) — разбирает строку str_time по шаблону переданному в строке format и возвращает объект datetime. Смотрите пример выше.
Это далеко не все методы данной библиотеки. Чтобы не усложнять материал, я выбрал наиболее простые и часто используемые. Более подробное описание тут.
