![](/img/trans.png)
[英]How to extract a range of years and generate new rows given a pair of dates
[英]How to generate range of dates: every day of a given year?
我想迭代给定年份中的所有天数:因此它将生成一个日期时间对象,从 1 月 1 日到所有其他日子(包括 2 月 29 日 - 如果该年存在)到 12 月 31 日。
我怎样才能做到这一点 ?
我正在尝试这个:
from datetime import datetime
start_date = datetime( 2015, 1, 1 )
start_date = startdate + 1
但后来意识到你不能像这样添加一个(一个什么?) - 你必须添加一个(一天的)时间增量来做到这一点。
from datetime import datetime, timedelta
def gen_days( year ):
start_date=datetime( year, 1, 1 )
end_date=datetime( year, 12, 31 )
d=start_date
dates=[ start_date ]
while d < end_date:
d += timedelta(days=1)
dates.append( d )
return dates
if __name__=='__main__':
d=gen_days( 2015 )
print len(d)
d2=gen_days( 2016 ) # leap year
print len(d2)
抱歉 - 本来打算用我的问题发布一些非工作代码,但我让它的工作速度比我想象的要快(在这个和其他人的帮助下: How to increment the day in datetime?Python )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.