for i in range(date1, date2 + 1):
print date.fromordinal(i).strftime('%Y.%m.%d')
总而言之:
date1 = datetime.date(*date1.split('.')).toordinal()
date2 = datetime.date(*date2.split('.')).toordinal()
for i in range(date1, date2 + 1):
print date.fromordinal(i).strftime('%Y.%m.%d')
date1 = datetime.date(2004, 9, 25)
date2 = datetime.date(2004, 10, 8)
day = datetime.timedelta(days=1)
while date1 <= date2:
print date1.strftime('%Y.%m.%d')
date1 = date1 + day
(有一点需要注意:这显然会破坏您的date1变量)
我稍后会将其重构为一个daterange函数,以便您可以做一些更接近您所做的事情;它看起来像
for d in daterange(date1, date2):
print d.strftime('%Y.%m.%d')
稍后,当您开发python技能时,可能会喜欢这样:
for i in range((date2 - date1).days + 1):
print (date1 + datetime.timedelta(days=i)).strftime('%Y.%m.%d')
或者这是我的最终版本:
def daterange(d1, d2):
return (d1 + datetime.timedelta(days=i) for i in range((d2 - d1).days + 1))
for d in daterange(date1, date2):
print d.strftime('%Y.%m.%d')
使用序数函数,它将如下所示:
使用内置的^{} 模块。
首先,按每个
.
分割日期(假设它是一个字符串),并将列表传递给datetime.date
然后得到每个日期的
ordinal
(自0001年1月1日起的天数)然后,使用
for
循环和fromordinal
函数将序号转换为日期总而言之:
您的第一步应该是查看python日期时间库。
总的来说,您的第一个解决方案可能是这样的:
(有一点需要注意:这显然会破坏您的
date1
变量)我稍后会将其重构为一个daterange函数,以便您可以做一些更接近您所做的事情;它看起来像
稍后,当您开发python技能时,可能会喜欢这样:
或者这是我的最终版本:
相关问题 更多 >
编程相关推荐