Привет всем! Несмотря на то, что последнее время мой блог все больше посвящен ежедневным урокам английского и румынского языка, я полон оптимизма не забросить изучение Python (а еще программирования под Android, ага 🙂 ). И сегодня мы узнаем, как узнать прошлую (или будущую) дату с помощью Python.
Для этого будем использовать класс timedelta, входящий в библиотеку datetime. Указанный класс используется для получения какой-либо даты в прошлом или будущем с помощью сложения или вычитания двух дат. Ну, например, в случае, если вам очень сильно нужно узнать, какая дата была некоторое число дней назад, плюс несколько часов и минут.
Использование класса очень простое, и упирается в синтаксис:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
причем, никакие аргументы не являются обязательными, и «по умолчанию» равны нулю. Что интересно — любой из указанных аргументов может быть не только целым или дробными, но даже положительными и отрицательными.
Пример использования — чуть ниже:
UPD.
Решил дописать в качестве полезности все возможные варианты работы с time. Итак:
В Python за работу со временем отвечают time и datetime.
now_date = datetime.date.today() # Текущая дата (без времени)
now_time = datetime.datetime.now() # Текущая дата со временем
cur_year = now_date.year # Год текущий
cur_month = now_date.month # Месяц текущий
cur_day = now_date.day # День текущий
cur_hour = now_time.hour # Час текущий
cur_minute = now_time.minute # Минута текущая
cur_second = now_time.second # Секунда текущие
num_week = now_date.isoweekday() # узнаем день недели (от 1 до 7)
now_date = now_date.replace(2018,2,21) # меняем полностью дату на 21.02.2018
now_date = now_date.replace(day=cur_day) # меняем только день
now_date = now_date.replace(month=cur_month) # меняем только месяц
now_date = now_date.replace(year=cur_year) # меняем только год
ny_2018 = datetime.date(2018,2,21) # создали дату: 21 февраля 2018 года
delta = ny_2018 — now_date # разница (дельта) в между 2-мя датами
delta = datetime.timedelta(days=3) # дельта в 3 дня
now_date = now_date + delta # Узнаем какое число будет через 3 дня
now_date = now_date — delta # или какое число было 3 дня назад
print(now_time.strftime(«%d.%m.%Y %I:%M %p»)) # форматируем дату
Кстати, пример работы с временем (выдача текущего времени под определенный формат) — чуть ниже:
И в самом конце — некоторые подробности для работы со временем:
%S — секунды. От 0 до 61
%M — минуты. От 00 до 59
%H — час. От 00 до 23
%I — час. От 1 до 12
%p — перед или после полудня (AM или PM)
%d — день. От 1 до 31
%j — день как номер года. От 001 до 366
%m — месяц. От 01 до 12
%y — год в виде 2-х последних чисел. От 00 до 99
%Y — год в виде полного числа
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️