Модуль для работы с датой и временем
datetime.
MAXYEAR
максимальный год
datetime.MAXYEAR
# 9999
datetime.
MINYEAR
минимальный год
datetime.MINYEAR
# 1
datetime.
date
(year, month, day)дата
day
возвращает день
date.today().day
# 3
max
возвращает date
максимально возможную дату
date.max
# date(9999, 12, 31)
min
date.min
# date(1, 1, 1)
month
возвращает месяц
date.today().month
# 5
resolution
date.resolution
# timedelta(days=1)
year
возвращает год
date.today().year
# 2017
fromisoformat
(date_string)New in version 3.7.
fromordinal
(dates)возвращает дату date
, соответствующую количеству дней,
прошедших с 1 года
date.max.toordinal()
# 3652059
date.fromordinal(3652059)
# date(9999, 12, 31)
date.fromordinal(1)
# date(1, 1, 1)
fromtimestamp
(seconds)возвращает дату date
, соответствующую количеству секунд,
прошедших с начала эпохи
datetime.date.fromtimestamp(time.time())
# date(2014, 8, 24)
datetime.date.fromtimestamp(1233368623.0)
# date(2009, 1, 31)
isoformat
(date)Возвращает строку, дату в исо формате
date.isoformat(date.today())
# '2017-03-05'
ctime
()возвращает строку специального формата
date.ctime()
# 'Sun Jun 5 00:00:00 2011'
isocalendar
()возвращает кортеж из 3х элементов (год, номер недели и порядковый номер дня в неделе)
date.today().isocalendar()
# (2019, 37, 4)
isoformat
()возвращает дату в формате ГГГГ-ДД-ММ
date.today().isoformat()
# '2019-09-12'
isoweekday
()возвращает порядковый номер дня недели (начинается с 1)
date.today().isoweekday()
# 4
replace
(year, month, day)возвращает дату с обновленными значемниями
date.today()
# date(2019, 9, 12)
date.today().replace(2020)
# date(2020, 9, 12)
strftime
(dt_format)возвращает отформатированную строку
date.today().strftime('%Y-%m-%d')
# '2019-09-12'
timetuple
()возвращает time.struct_time
с датой и временем
date.today().timetuple()
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=255, tm_isdst=-1)
today
()Возвращает datetime.date
, текущую дату
date.today()
# datetime.date(2017, 5, 3)
toordinal
()возвращает количесвто дней, прошедших с 1 года
date.today().toordinal()
# 737314
weekday
()возвращает порядковый номер дня в недели (начинается с 0)
date.today().weekday()
# 3
datetime.
datetime
(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)дата и время
year
год
month
месяц
day
день
fold
New in version 3.6.
hour
часы
max
datetime.max
# datetime(9999, 12, 31, 59, 59, 999999)
microsecond
микросекунды
min
datetime.min
# datetime(1, 1, 1)
minute
минуты
resolution
datetime.resolution
# timedelta(microsecond=1)
second
секунды
tzinfo
временная зона
combine
(date, time)создает экземпляр класса в соответствии со значениями экземпляров класса date и time
datetime.combine(date.today(), time(11, 10))
# datetime(2019, 9, 12, 11, 10)
fromisoformat
(date_string)New in version 3.7.
fromordinal
(days)возвращает дату, соответсвующую количесвту дней, прошедших с 1 года
datetime.fromordinal(1)
# datetime(1, 1, 1, 0, 0)
fromtimestamp
(seconds, tz=None)возвращает дату, соотвествующую количесвтоу секунд с начала эпохи
datetime.fromtimestamp(time.time())
# datetime(2014, 8, 24, 0, 0)
datetime.fromtimestamp(1233368623.0)
# datetime(2009, 1, 31, 0, 0)
now
(tz)возвращает текущую дату и время
datetime.now()
# datetime(2019, 9, 12, 0, 0)
strptime
(date_str, date_format)разбирает строку с датой в соответсвии со строкой формата
datetime.strptime('2019-09-12', '%Y-%m-%d')
# datetime(2019, 9, 12, 0, 0)
today
()возвращает текущую дату и время
datetime.today()
# datetime(2019, 9, 12, 6, 54, 47, 320298)
utcfromtimestamp
(seconds)dозвращает дату, соответствующую количесвту секунд, прошедших с начала эпохи в универсальном времени (UTC)
datetime.utcfromtimestamp(1)
# datetime(1970, 1, 1, 0, 0, 1)
utcnow
()возвращает текущее универсальное время (UTC)
datetime.utcnow()
# datetime(2019, 9, 12, 3, 55, 59, 579073)
astimezone
(tz=None)Возвращает новый экземпляр даты с измененной таймзоной
ctime
()возвращает строку специального формата
datetime.now().ctime()
# 'Fri Sep 13 06:57:23 2019'
date
()возврашает дату в формате date
datetime.now().date()
# date(2019, 9, 13)
dst
()isocalendar
()возвращает кортеж из трех элементов (год, номер недели в году и порядковый номер дня в неделе)
datetime.now().isocalendar()
# (2019, 37, 5)
isoformat
(sep='T', timespec='auto')dозвращает дату в формате ISO 8601
datetime.now().isoformat()
# '2019-09-13T06:57:23.687795'
isoweekday
()возвращает порядковый номер дня недели (начинается с 1)
datetime.now().isoweekday()
# 5
replace
(year, month, day, hour, minute, second, microsecond, tzinfo, fold=0)New in version 3.6: добален параметр fold
возвращает дату с обновленными значениями
datetime.now()
# datetime(2019, 9, 12, 0, 0)
datetime.now().replace(2020)
# datetime(2020, 9, 12, 0, 0)
strftime
(format_sr)возвращает отформатированную строку
datetime.now().strftime('%d-%m-%Y')
# '12-09-2019'
time
()возвращает время в формате time
datetime.now().time()
# time(6, 57, 23, 687795)
timestamp
()timetuple
()возвращает дату и время в формате struct_time
datetime.now().timetuple()
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=13, tm_hour=6, tm_min=57, tm_sec=23, tm_wday=4, tm_yday=256, tm_isdst=-1)
timetz
()возвращает время в формате time
с учетом временной зоны
datetime.now().timetz()
# time(6, 57, 23, 687795)
toordinal
()возвращает количесвто дней с 1 года
datetime.now().toordinal()
# 737315
tzname
()utcoffset
()utctimetuple
()возвращает дату и время в формате struct_time
в универсальном времене
datetime.now().utctimetuple()
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=13, tm_hour=6, tm_min=57, tm_sec=23, tm_wday=4, tm_yday=256, tm_isdst=0)
weekday
()возвращает порядковый номер дня в недели (начинается с 0)
datetime.now().weekday()
# 4
datetime.
time
(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, fold=0)время
fold
hour
часы
max
time.max
# time(23, 59, 59, 999999)
microsecond
микросекунды
min
time.min
# time(0, 0, 0, 0)
minute
минуты
second
секунды
tzinfo
информаиця о временной зоне
dst
()fromisoformat
(time_str)isoformat
(timespec='auto')возвращает время в формате ISO 8601
auto - по умолчанию
hours - HH
minutes - HH:MM
seconds - HH:MM:SS
milliseconds - HH:MM:SS.sss
microseconds - HH:MM:SS.ffffff
time(23, 12, 38, 375000).isoformat()
# '23:12:38.375000'
time(23, 12, 38, 375000).isoformat('hours')
# '23'
time(23, 12, 38, 375000).isoformat('minutes')
# '23:12'
time(23, 12, 38, 375000).isoformat('seconds')
# '23:12:38'
time(23, 12, 38, 375000).isoformat('milliseconds')
# '23:12:38.000'
time(23, 12, 38, 375000).isoformat('microseconds')
# '23:12:38.000001'
replace
(hour, minute, second, microsecond, tzinfo)возвращает время с обновленными значениями
strftime
(format_str)возвращает отформатированную строку
tzname
()utcoffset
()datetime.
timedelta
(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)дата в виде количесвта дней, секунд и микросекунд
timedelta(days=2) + timedelta(days=7)
# timedelta(9)
timedelta(days=7) - timedelta(days=2)
# timedelta(5)
timedelta(days=7) / timedelta(days=2)
# 3.5
timedelta(days=2) * 2
# datetime.timedelta(4)
timedelta(days=7) * 2
# timedelta(14)
timedelta(days=2) / 2,
# datetime.timedelta(1)
timedelta(days=2) / 2.5
# datetime.timedelta(2, 69120)
timedelta(days=7) // timedelta(days=2)
# 3
timedelta(days=2) // 2
# timedelta(1)
timedelta(days=7) // 2
# timedelta(3, 43200)
timedelta(days=7) % timedelta(days=2)
# timedelta(1)
timedelta(days=2) == timedelta(days=7)
# False
timedelta(days=7) == timedelta(weeks=1)
# True
timedelta(days=2) != timedelta(days=7)
# True
timedelta(days=7) != timedelta(weeks=1)
# False
timedelta(days=2) < timedelta(days=7)
# True
timedelta(days=7) <= timedelta(weeks=1)
# True
timedelta(days=2) > timedelta(days=7)
# False
timedelta(days=7) <= timedelta(weeks=1)
# True
days
количество дней
min
timedelta.max
# timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
min
timedelta.min
# timedelta(-999999999)
microseconds
количесвто микросекунд
resolution
timedelta.resolution
# timedelta(microseconds=1)
seconds
количесвто секунд
total_seconds
()возвращает результат в секундах
New in version 3.2.
timedelta(days=365).total_seconds()
# 31536000.0
datetime.
tzinfo
зона времени
dst
(dt)fromutc
(dt)tzname
(dt)utcoffset
(dt)New in version 3.2.
datetime.
timezone
(offset, name=None)зона времени
utc
fromutc
(dt)dst
(dt)tzname
(dt)utcoffset
(dt)a - день недели сокращенный, Sun - Sat
A - день недели полный, Sunday - Saturday
w - день недели в числовом виде, 0 - 6
d - день недели с ноликом, 01 - 31
b - месяц сокращенный, Jan - Dec
B - месяц полный, January - December
m - месяц в числовом виде, 01 - 12
y - год бес тысячелетия, 01 - 99
Y - год с тысячелетием, 0001 - 9999
H - часы в 24 часовом формате, 01 - 23
I - часы в 12 часовм формате, 01 - 12
p - am/pm
M - минуты, 00 - 59
S - секунды, 00 - 59
f - микросекунды, 00000 - 999999
z - utc офсет, +0000, -0400, +1030
Z - название таймзоны, UTC, EST, CST
j - номер дня недели в году, 001 - 366
U - номер недели в году, из расчета воскресенье первый день недели, 00 - 53
W - номер недели в году, из расчета понедельник первый день недели, 00 - 53
c - локальное представление время, Tue Aug 16 21:30:00 1988
x - локальное представление даты, 08/16/1988
X - локальное представление времени, 21:30:00