Когда вы работаете со временем и датами в python, вы наткнетесь на объект time.struct_time:
st = time.strptime("23.10.2012", "%d.%m.%Y")
print st
time.struct_time(tm_year=2012, tm_mon=10, tm_mday=23, tm_hour=0, tm_min=0,
tm_sec=0, tm_wday=1, tm_yday=297, tm_isdst=-1)
Теперь, когда эта структура не поддерживает назначение элемента (т.е. вы не можете сделать что-то вроде st[1]+=1
), как еще можно увеличить, скажем, номер месяца.
Решения предлагают преобразовать этот time_struct в секунды и добавить соответствующее количество секунд, но это выглядит не очень хорошо. Вы также должны знать, сколько дней в месяц, или год является високосным годом или нет. Я хочу простой способ получить time_struct, например,
time.struct_time(tm_year=2012, tm_mon=11, tm_mday=23, tm_hour=0, tm_min=0,
tm_sec=0, tm_wday=1, tm_yday=297, tm_isdst=-1)
только месяц увеличился на единицу. Создание time_struct
с нуля было бы неплохо, но как? Какие существуют способы?