Существует серия блога при записи нового режима Python в emacs. Это не учебное руководство, но это может указать на Вас в правильном направлении.
datetime.timedelta
предназначен для фиксированная разница во времени (например, 1 день фиксирован, 1 месяц - нет).
>>> import datetime
>>> t = datetime.time(13, 5)
>>> print t
13:05:00
>>> now = datetime.datetime.now()
>>> print now
2009-11-17 13:03:02.227375
>>> print now + datetime.timedelta(hours=1, minutes=23, seconds=10)
2009-11-17 14:26:12.227375
Обратите внимание, что нет смысла выполнять сложение только по времени (но вы можете объединить дату и время в объект datetime, используйте это, а затем получите время). Летнее время - главный виновник. Например, 12:01 + 5 часов могут быть 4:01, 5:01 или 6:01 в разные дни.
Загляните в datetime.timedelta .
Example
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
... minutes=50, seconds=600) # adds up to 365 days
>>> year == another_year
True
>>> ten_years = 10 * year
>>> ten_years, ten_years.days // 365
(datetime.timedelta(3650), 10)
>>> nine_years = ten_years - year
>>> nine_years, nine_years.days // 365
(datetime.timedelta(3285), 9)
>>> three_years = nine_years // 3;
>>> three_years, three_years.days // 365
(datetime.timedelta(1095), 3)
>>> abs(three_years - ten_years) == 2 * three_years + year
True
Посмотрите на mx.DateTime
и, в частности, на DateTimeDelta
.
import mx.DateTime
d = mx.DateTime.DateTimeDelta(0, 1, 23, 10)
x = mx.DateTime.now() + d
x.strftime()
Имейте в виду, что время на самом деле довольно сложная вещь для работы с . Високосные годы и високосные секунды - это только начало ...
Класс datetime в Python предоставит все, что вам нужно. Он поддерживает сложение, вычитание и многие другие операции.