问 题
初始化开始时间 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
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起