Python逐个获得每周的数量

时间:2015-07-09 01:45:47

标签: python

任何人都可以帮助我,如何在Python中获得逐月的数量?

from datetime import datetime, date, timedelta

输入:

date1 = "2015-07-09"
date2 = "2016-08-20"

输出:

2015-07 : 4
2015-08 : 5
2015-08 : 4
....
2016-08 : 5

如何按月从date1到date2计算一周的周数?

2 个答案:

答案 0 :(得分:1)

如果您想衡量两个日期之间的完整周数,可以使用datetime.strptimetimedelta来完成此操作:

from datetime import datetime, date, timedelta
dateformat = "%Y-%m-%d"
date1 = datetime.strptime("2015-07-09", dateformat)
date2 = datetime.strptime("2016-08-20", dateformat)
weeks = int((date2-date1).days/7)
print weeks

这会输出58。除以7会导致返回的周数。使用整周的数量(而不是部分),因为int仅返回整数部分。如果您想获得部分周的数量,则可以除以7.0而不是7,并确保删除int部分。

答案 1 :(得分:0)

试试这个:

date1 = "2015-07-09"
date2 = "2016-08-20"
d1 = datetime.datetime.strptime(date1, '%Y-%m-%d').date()
d2 = datetime.datetime.strptime(date2, '%Y-%m-%d').date()  
diff = d2 -d1
weeks, days = divmod(diff.days, 7)