python日期的递增问题

查看:292
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆