На этом шаге мы рассмотрим основные методы этого класса.
Над экземплярами класса datetime можно производить следующие операции:
Примеры:
>> d1 = datetime.datetime (2017, 11, 10, 16, 7, 22) >> d2 = datetime.datetime (2017, 11, 20, 16, 7, 22) >> t = datetime.timedelta (days=10, minutes=10) >> d1 + t # Прибавляем 10 дней и 10 минут datetime.datetime(2017, 11, 20, 16, 17, 22) >> d1 - t # Вычитаем 10 дней и 10 минут datetime.datetime(2017, 10, 31, 15, 57, 22) >> d1 - d2 # Разница между датами datetime.timedelta(-10)(5, 12978) >> d1 < d2, d1 > d2, d1 <= d2, d1 >= d2 (True, False, True, False) >> d1 == d2, d1 != d2 (False, True)
Экземпляры класса datetime поддерживают следующие методы:
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.date()
datetime.date(2017, 11, 10)
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.time()
datetime.time(16, 10, 54)
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.timestamp()
1510312254.0
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54) >> d.replace (2014, 12) datetime.datetime(2014, 12, 10, 16, 10, 54) >> d.replace (hour=12, month=10) datetime.datetime(2017, 10, 10, 12, 10, 54)
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.timetuple()
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=10, tm_hour=16, tm_min=10,
tm_sec=54, tm_wday=4, tm_yday=314, tm_isdst=-1)
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.utctimetuple ()
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=10, tm_hour=16, tm_min=10,
tm_sec=54, tm_wday=4, tm_yday=314, tm_isdst=0)
>> d.toordinal()
736643
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54) >> d.weekday() # 4 - это пятница 4
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54) >> d.isoweekday() # 5 - это пятница 5
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.isocalendar()
(2017, 45, 5)
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54) >> d.isoformat () # Разделитель не указан '2017-11-10T16:10:54' >> d.isoformat (" ") # Пробел в качестве разделителя '2017-11-10 16:10:54'
>> d = datetime.datetime (2017, 11, 10, 16, 10, 54)
>> d.ctime()
'Fri Nov 10 16:10:54 2017'
>> d.strftime ("%d.%m.%Y %H:%M:%S") '10.11.2017 16:10:54'
Поддерживаются также следующие атрибуты класса:
Значения этих атрибутов:
>> datetime.datetime.min datetime.datetime(1, 1, 1, 0, 0) >> datetime.datetime.max datetime.datetime(9999, 12, 31, 23, 59, 59, 999999) >> datetime.datetime.resolution datetime.timedelta(0, 0, 1)
На следующем шаге мы рассмотрим модуль calendar.