問題:我有這個特定時間的列表,例如:repeat = ['8:15','14:28','19:43','1:21']現(xiàn)在我正在嘗試創(chuàng)建一個函數(shù),該函數(shù)將輸出一個包含n個日期時間對象的列表,如下所示:>>> import datetime>>> >>> datetime.datetime.now()datetime.datetime(2018, 10, 30, 17, 5, 55, 908000) # 2018-10-30 17:05:55>>> >>> output = magic(repeat, how_many=3) # <--->>> output[datetime.datetime(2018, 10, 30, 19, 43), datetime.datetime(2018, 10, 31, 1, 21), datetime.datetime(2018, 10, 31, 8, 15)]>>> >>> >>> for i in output:>>> print( i.strftime("%Y-%m-%d %H:%M:%S") )2018-10-30 19:43:002018-10-31 01:21:002018-10-31 08:15:00我的進度:所以我用這個解決方案解決了這個問題:def next(datetime_object, repeat): # this function should calculate the next datetime from the datetime_object return next_datetime_objectdef magic(repeat, how_many=10): converted = [] for i in repeat: converted.append( datetime.datetime.strptime(i, '%H:%M') ) now = datetime.datetime.now() output = [ next(now,converted) ] while len(output) < how_many: output.append( next(output[-1] ,converted) ) return output雖然我在創(chuàng)建這個next()應該計算下一個日期時間對象的函數(shù)時遇到了困難。另外,如果有人有任何其他比我更好的替代解決方案,請與我分享。編輯 1(只是為了澄清)輸入: repeat = ['8:15','14:28','19:43','1:21']功能: magic(repeat, how_many=3)輸出: [ datetime.datetime(2018, 10, 30, 19, 43), datetime.datetime(2018, 10, 31, 1, 21), datetime.datetime(2018, 10, 31, 8, 15) ]注意:輸出取決于電流datetime.datetime.now()。在上面的例子中,當前時間是datetime.datetime(2018, 10, 30, 17, 5, 55, 908000)
獲取重復時間的日期時間對象列表
慕工程0101907
2021-07-30 07:33:17