time.struct_time
ожидает, что ее первый аргумент будет последовательностью с 9 элементами:
In [58]: time.struct_time((2000,11,30,0,0,0,3,335,-1))
Out[58]: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
Но учтите, что это приводит к чрезмерной спецификации даты и времени.
Например, вы можете указать 1 января2000 с tm_yday = 100
, что явно не соответствует действительности:
In [72]: time.struct_time((2000,1,1,0,0,0,3,100,-1))
Out[72]: time.struct_time(tm_year=2000, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=100, tm_isdst=-1)
Поэтому, вероятно, лучше использовать datetime и вызвать его метод timetuple () для получения time.struct_time:
In [70]: import datetime as dt
In [71]: dt.datetime(2000,11,30,0,0,0).timetuple()
Out[71]: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)