python日期的递增问题
本文介绍了python日期的递增问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
初始化开始时间 2016-07-01
设置日期为31
递增
2016-07-01
2016-07-02
...
2016-07-31
除了
count = 0
while (count < 31):
count =count+1
print '2016-07-',count
还有没其他方式
解决方案
用 datetime
datetime 方便又強大, 值得投資一下
from datetime import date, timedelta
def gen_dates(bdate, days):
day = timedelta(days=1)
for i in range(days):
yield bdate + day*i
if __name__ == '__main__':
bdate = date(2016, 7, 1)
for d in gen_dates(bdate, 31):
print(d)
結果:
2016-07-01
2016-07-02
...
2016-07-30
2016-07-31
代碼說明:
date(year, month, day)
可以很輕鬆地製造出日期
timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks)
可以製造出時間間隔
然後你可以用一般的代數來操作日期計算:
>>> d = date(2016, 7, 1) # 產生 2016-07-01 這個日期
>>> day = timedelta(days=1) # 產生 1 天的時間間隔
>>> print(d+day) # 印出 2016-07-01 + 1 天
2016-07-02
我回答過的問題: Python-QA
这篇关于python日期的递增问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文