Найти в Дзене

Кратко о библиотеке DateTime в Python

Оглавление
Библиотека DateTime и ее класс DateTime используются в алготрейдинге практически всегда. Ведь любая сделка, любая свечка(бар) так или иначе завязаны на временные показатели. Особенно важно знать классы datetime(), timedelta() и функции strftime(), strptime().
Библиотека DateTime и ее класс DateTime используются в алготрейдинге практически всегда. Ведь любая сделка, любая свечка(бар) так или иначе завязаны на временные показатели. Особенно важно знать классы datetime(), timedelta() и функции strftime(), strptime().

Библиотека DateTime и ее класс DateTime используются в алготрейдинге практически всегда. Ведь любая сделка, любая свечка(бар) так или иначе завязаны на временные показатели.

DataTime

DateTime – это библиотека в Python для работы с датой и временем. Она позволяет удобно манипулировать датами и временем – получать, преобразовывать, сравнивать, вычислять разницу и выводить в нужном формате.

Наиболее востребованы следующие классы модуля:

  • date – простая дата, содержит год, месяц и день
  • time – время в течение дня, содержит часы, минуты, секунды и микросекунды
  • datetime – комбинация полной даты и времени
  • timedelta – промежуток времени, разность между двумя датами/временами
  • tzinfo – абстрактный класс для представления информации о часовом поясе
  • timezone – реализация tzinfo, представляет смещение от UTC

Нам достаточно сейчас остановиться на классах date, time, datetime и timedelta, которые решают общие задачи по работе с временем при разработке различных приложений.

-2

В начале файла вашего скрипта обязательно импортируйте библиотеку datetime, а чтобы сократить запись в коде нашей программы импортируем сразу все необходимые нам классы:

-3

Таким образом мы сможем в тексте сократить записи, к примеру вместо “datetime.date.today()” писать просто “date.today()”

Класс date

создадим объект даты

-4

можно узнать текущую дату:

-5

можно получить компоненты даты:

-6

Класс time

Класс time из модуля datetime в Python предназначен для работы со временем.

Создадим объект времени:

-7

Получим компоненты времени:

-8

Сравним два времени:

-9

Класс datetime

Наиболее часто используемый класс

Создадим объект даты и времени

-10

Получим компоненты даты/времени:

-11

Получение текущей даты и времени/
Метод datetime.now() возвращает объект datetime, с текущей датой и временем.

При вызове без аргументов – возвращает локальную дату и время:

-12

Класс timedelta

timedelta() представляет собой продолжительность промежутка времени, по сути это интервал времени. Аргумент может быть выражен в weeks, days, hours, minutes, seconds, microseconds, milliseconds.

Создадим объект

-13

Вычитание двух дат возвращает timedelta

-14

Правильным будет также вычитание дат явным конструированием timedelta

-15

а вот прибавлять две даты нельзя, что собственно логично. Прибавлять можно только дату и период timedelta

-16

# TypeError: unsupported operand type(s) for +: 'datetime.date' and 'datetime.date'

timedelta имеет метод total_seconds() – количество секунд в интервале времени.
Метод total_seconds() полезен для случаев, когда нужно преобразовать timedelta в секунды:

-17

Также метод total_seconds() можно использовать, когда надо найти разницу между датой (временем) в секундах:

-18

Форматирование объектов даты и времени

Модуль datetime предоставляет гибкие возможности по форматированию объектов даты и времени при выводе в виде строк.

Для преобразования объекта даты/времени – в “человекочитаемую” строку используется метод strftime().

Основной синтаксис:

datetime_object.strftime(format) возвращает отформатированную дату/время как строку. Здесь format задает желаемый формат с помощью специальных символов-заполнителей:
%A – полное текстовое название дня недели
%B – полное текстовое название месяца
%b – сокращенное название месяца
%d – день
%m – месяц
%Y – год из 4 цифр
%y – только последние 2 цифры года
%H – часы
%M – минуты
%S – секунды

Комбинируя заполнители, можно гибко настроить нужный вывод даты и времени. Например:

-19

Чтобы вывести отформатировать дату с полным названием дня недели и месяца на русском языке в Python, нужно использовать библиотеку locale

-20

Для решения противоположной задачи – для преобразования строки в объект даты/времени используется метод strptime().

Итак, функция strptime() в модуле datetime в Python используется для преобразования строки даты и времени в объект datetime по заданному формату.

Например:

-21

На этом все. Материала для начала работы более, чем достаточно. Еще раз посмотрите самое главное: классы datetime(), timedelta() и функции strftime(), strptime().

--------------------------------

Весь листинг можно скопировать с оригинала статьи https://clck.ru/36wsAE

ПОДПИШИСЬ на телеграмм канал автора "АЛГОТРЕЙДИНГ на PYTHON"

Алготрейдинг на Python + ВасkTrader

Видео по теме: