gpt4 book ai didi

Python while 循环日期迭代

转载 作者:太空宇宙 更新时间:2023-11-04 05:03:47 26 4
gpt4 key购买 nike

我目前有一个脚本,它接受一个日期并从某个日期迭代到今天的日期。输出以小时为增量列出了到当前日期为止的天数。

我正在尝试弄清楚如何让循环停止在 2017-07-10 00:00:000,或者换句话说,当前日期的开始,之后没有列出小时。注意:有人提到 while 循环只是在逻辑上有点困惑。

这是我使用的代码:

sys_date = dt.datetime.today()#.strftime("%d-%m-%Y %H:%M:%S")
Last_RT = Audit_Log.RUN_TIME_END.max()

#Looping through every hr until current date
for r in arrow.Arrow.range('hour', Last_RT, sys_date):
print r.format("YYYY-MM-DD HH:mm:ss")

输出:

- 2017-07-09 00:00:00
- 2017-07-09 01:00:00
- 2017-07-09 02:00:00
- 2017-07-09 03:00:00
- 2017-07-09 04:00:00
- 2017-07-09 05:00:00

....................
- 2017-07-09 15:00:00
- 2017-07-09 16:00:00
- 2017-07-09 17:00:00
- 2017-07-09 18:00:00
- 2017-07-09 19:00:00
- 2017-07-09 20:00:00
- 2017-07-09 21:00:00
- 2017-07-09 22:00:00
- 2017-07-09 23:00:00
- 2017-07-10 00:00:00
- 2017-07-10 01:00:00
- 2017-07-10 02:00:00

最佳答案

使用箭头中的floor方法

start = arrow.now().replace(days=-5).floor('day')
end = arrow.now().floor('day')

#Looping through every hr until current date
for r in arrow.Arrow.range('hour', start, end):
print r.format("YYYY-MM-DD HH:mm:ss")

这应该给你一天的开始。

2017-07-05 00:00:00
2017-07-05 01:00:00
2017-07-05 02:00:00
...
2017-07-09 21:00:00
2017-07-09 22:00:00
2017-07-09 23:00:00
2017-07-10 00:00:00

编辑

一般来说,我很少遇到同时需要 arrow 和内置 datetime 包的情况。我使用箭头,除非绝对有必要使用内置函数。

关于Python while 循环日期迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com