Модуль datetime (docs.python.org/3/library/datetime.html#module-datetime) поставляет классы для управления датой и временем различной степени сложности. Пока вычисления даты и времени поддерживаются, в центре внимания реализации - на эффективное извлечение члена для форматирования вывода и манипуляции. Модуль также поддерживает объекты, «осведомленные» о часовом поясе.
from datetime import date, datetime, timedelta # date today = date.today() print(today) # 2020-01-25 print(today.day) # 25 print(today.month) # 1 print(today.year) # 2020 print(today.weekday()) # 5 - суббота (0 - 6) # datetime now = datetime.now() print(now) # 2020-01-25 19:59:11.453869 now = datetime.today() print(now) # 2020-01-25 19:59:11.453869 print(now.day) # 25 print(now.month) # 1 print(now.year) # 2020 print(now.weekday()) # 5 - суббота (0 - 6) print(now.hour) # 19 hour print(now.minute) # 59 minute print(now.second) # 11 second
days = ('понедельник', "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье") print(days[now.weekday()]) # суббота
now = datetime.now() print(now.strftime("%d.%m.%y")) #25.01.20 # День недели now = datetime.now() print(now.strftime("%A")) # Saturday print(now.strftime("%a")) # Sat
import locale locale.setlocale(locale.LC_ALL, 'ru_RU') # с кодировкой locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8') now = datetime.now() print(now.strftime("%A")) # суббота print(now.strftime("%a")) # Сб print(f'Дата: {now.strftime("%A, %d %b %Y")}') # Дата: суббота, 25 янв 2020 print(f'время: {now.strftime("%H:%M:%S")}') # время: 20:21:05 #Вывод времени в соответстви с локалью print(now.strftime('%c')) # 25.01.2020 20:22:13 print(now.strftime('%x')) # 25.01.2020 print(now.strftime('%X')) # 20:22:13
now = datetime.today() print(now.strftime('%c')) # Прибавить интервал времени print(now.strftime('%c')) # 25.01.2020 20:26:03 after = now + timedelta(days=1, hours=2, minutes=10) print(after.strftime('%c')) # 26.01.2020 22:36:03
import datetime a = input('Первая дата (гггг-мм-дд): ') b = input('Вторая дата (гггг-мм-дд): ') a = a.split('-') b = b.split('-') aa = datetime.date(int(a[0]),int(a[1]),int(a[2])) bb = datetime.date(int(b[0]),int(b[1]),int(b[2])) cc = aa-bb print(cc) # output days and time dd = str(cc) print(dd.split()[0]) # only days Выполнение скрипта: <code powershell> Первая дата (гггг-мм-дд): 2012-04-13 Вторая дата (гггг-мм-дд): 2003-05-27 3244 days, 0:00:00 3244 Первая дата (гггг-мм-дд): 2003-05-27 Вторая дата (гггг-мм-дд): 2012-04-13 -3244 days, 0:00:00 -3244
a = input('Дата (гггг-мм-дд): ') a = a.split('-') aa = datetime.date(int(a[0]),int(a[1]),int(a[2])) bb = datetime.date.today() cc = aa-bb dd = str(cc) print(dd.split()[0])
Выполнение скрипта:
Дата (гггг-мм-дд): 2013-01-01 -17
import datetime a = input('Дата (гггг-мм-дд): ') b = input('Количество дней: ') a = a.split('-') aa = datetime.date(int(a[0]),int(a[1]),int(a[2])) b = int(b) bb = datetime.timedelta(days=b) cc = aa+bb print(cc)
Выполнение скрипта:
Дата (гггг-мм-дд): 2004-12-20 Количество дней: 1000 2007-09-16 >>> ==== RESTART ==== >>> Дата (гггг-мм-дд): 2013-01-16 Количество дней: -100 2012-10-08 >>>
b = input('Количество дней: ') b = int(b) a = datetime.date.today() bb = datetime.timedelta(days=b) cc = a+bb print(cc)
Количество дней: 5 2013-01-23 >>> ===== RESTART ===== >>> Количество дней: -5 2013-01-13 >>>