我有这段代码从作为输入参数的两个变量生成一个列表,该函数返回一个日期和时间列表,其中包含输入参数之间的所有日期和时间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
提交
取消