Categories: Python

Получить дату несколько дней или месяцев назад

В одном из предыдущих постов я уже рассказывал об библиотеки datetime. В этом посте я хочу продолжить знакомить Вас с этой библиотекой, а конкретнее, с ее классом timedelta.

Этот класс представляет собой заданный промежуток времени. И используется, в большинстве своем, для получения какой то прошедшей либо грядущей даты либо времени посредством вычитания или сложения двух дат. Например, если Вам нужно получить дату  через час, дату вчерашнего дня, дату месяц назад и т.д.

Синтаксис:

datetime.timedelta(
days=0,
seconds=0,
microseconds=0,
milliseconds=0,
minutes=0,
hours=0,
weeks=0
)

Все аргументы являются необязательными и по умолчанию равны 0. Аргументы могут быть целыми или дробными, а может быть положительными либо отрицательными.

Примеры использования

Получаем дату вчерашнего дня:

from datetime import date, timedelta

print(date.today())
print(date.today() - timedelta(days=1))

2015-12-14
2015-12-13

Получаем дату месяц назад:

from datetime import date, timedelta

print(date.today())
print(date.today() - timedelta(days=31))

2015-12-14
2015-11-13

Получаем время через 2 часа назад:

from datetime import timedelta, datetime

print(datetime.now())
print(datetime.now() + timedelta(hours=2))

2015-12-14 13:59:00.724516
2015-12-14 15:59:00.724611

Получаем дату без трех часов как неделю назад:

from datetime import timedelta, datetime

print(datetime.now())
print(datetime.now() - timedelta(days=7, hours=3))

2015-12-14 14:05:31.426143
2015-12-07 11:05:31.426229
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

1 месяц ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

1 месяц ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

1 месяц ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

1 месяц ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

1 месяц ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

1 месяц ago