幕布斯6054654
2021-11-09 20:16:35
我有這段代碼從作為輸入參數的兩個變量生成一個列表,該函數返回一個日期和時間列表,其中包含輸入參數之間的所有日期和時間FechaIn = "2019-01-01 00:00"FechaFin = "2019-01-16 23:59"meses = []start = datetime.datetime.strptime(FechaIn, "%Y-%m-%d %H:%M")end = datetime.datetime.strptime(FechaFin, "%Y-%m-%d %H:%M")date_array = \ (start + datetime.timedelta(days=x) for x in range(0, (end-start).days))for date_object in date_array: meses.append(str(date_object.strftime("%Y-%m-%d %H:%M")))meses.append(FechaFin)print (meses)代碼返回:['2019-01-01 00:00', '2019-01-02 00:00', '2019-01-03 00:00', '2019-01-04 00:00', '2019-01-05 00:00', '2019-01-06 00:00', '2019-01-07 00:00', '2019-01-08 00:00', '2019-01-09 00:00', '2019-01-10 00:00', '2019-01-11 00:00', '2019-01-12 00:00', '2019-01-13 00:00', '2019-01-14 00:00', '2019-01-15 00:00', '2019-01-16 23:59']但我需要在所有時間生成,就像這樣:['2019-01-01 00:00', '2019-01-01 00:01', '2019-01-01 00:02', '2019-01-01 00:03', ...]
1 回答

ITMISS
TA貢獻1871條經驗 獲得超8個贊
您可以保留另一個 datetime 對象作為跟蹤器,一次添加一分鐘,將其附加到 meses 列表中。當跟蹤器日期時間等于結束時間時停止,如果您希望列表包含開始和結束日期,請確保附加結束時間。
FechaIn = "2019-01-01 00:00"
FechaFin = "2019-01-16 23:59"
meses = []
start = now = datetime.datetime.strptime(FechaIn, "%Y-%m-%d %H:%M")
end = datetime.datetime.strptime(FechaFin, "%Y-%m-%d %H:%M")
while now != end:
meses.append(str(now.strftime("%Y-%m-%d %H:%M")))
now += datetime.timedelta(minutes=1)
meses.append(FechaFin)
print (meses)
輸出:
['2019-01-01 00:00', '2019-01-01 00:01', '2019-01-01 00:02' ... '2019-01-16 23:57', '2019-01-16 23:58', '2019-01-16 23:59']
添加回答
舉報
0/150
提交
取消