本帖最后由 Hadron74 于 2016-05-23 13:10 编辑
回复 1# jiangling_0103 - from datetime import datetime,timedelta
- d1 = "2016-02-23"
- d2 = "2016-05-23"
- date1=datetime.strptime(d1,"%Y-%m-%d")
- date2=datetime.strptime(d2,"%Y-%m-%d")
- delta = date2 - date1
- per_day_seconds = 24*60*60
- per_week_seconds = 7*per_day_seconds
- total_seconds = delta.total_seconds()
- weeks = total_seconds//per_week_seconds
- days = total_seconds//per_day_seconds
- if weeks*per_week_seconds < total_seconds: weeks += 1
- print "Delata Time:",delta,"Weeks:",weeks
- oneday = timedelta(days=1)
- WEEK=["M","T","W","R","F","S","U"]
- d0=date1
- weekdays = [d0,]
- for i in range(int(days)):
- d0 += oneday
- if d0.weekday() == 6 : # For Sunday
- print ",".join([str((WEEK[d.weekday()],d.strftime("%Y-%m-%d"))) for d in weekdays])
- weekdays = []
- weekdays.append(d0)
- print ",".join([str((WEEK[d.weekday()],d.strftime("%Y-%m-%d"))) for d in weekdays])
复制代码- Delata Time: 90 days, 0:00:00 Weeks: 13.0
- ('T', '2016-02-23'),('W', '2016-02-24'),('R', '2016-02-25'),('F', '2016-02-26'),('S', '2016-02-27')
- ('U', '2016-02-28'),('M', '2016-02-29'),('T', '2016-03-01'),('W', '2016-03-02'),('R', '2016-03-03'),('F', '2016-03-04'),('S', '2016-03-05')
- ('U', '2016-03-06'),('M', '2016-03-07'),('T', '2016-03-08'),('W', '2016-03-09'),('R', '2016-03-10'),('F', '2016-03-11'),('S', '2016-03-12')
- ('U', '2016-03-13'),('M', '2016-03-14'),('T', '2016-03-15'),('W', '2016-03-16'),('R', '2016-03-17'),('F', '2016-03-18'),('S', '2016-03-19')
- ('U', '2016-03-20'),('M', '2016-03-21'),('T', '2016-03-22'),('W', '2016-03-23'),('R', '2016-03-24'),('F', '2016-03-25'),('S', '2016-03-26')
- ('U', '2016-03-27'),('M', '2016-03-28'),('T', '2016-03-29'),('W', '2016-03-30'),('R', '2016-03-31'),('F', '2016-04-01'),('S', '2016-04-02')
- ('U', '2016-04-03'),('M', '2016-04-04'),('T', '2016-04-05'),('W', '2016-04-06'),('R', '2016-04-07'),('F', '2016-04-08'),('S', '2016-04-09')
- ('U', '2016-04-10'),('M', '2016-04-11'),('T', '2016-04-12'),('W', '2016-04-13'),('R', '2016-04-14'),('F', '2016-04-15'),('S', '2016-04-16')
- ('U', '2016-04-17'),('M', '2016-04-18'),('T', '2016-04-19'),('W', '2016-04-20'),('R', '2016-04-21'),('F', '2016-04-22'),('S', '2016-04-23')
- ('U', '2016-04-24'),('M', '2016-04-25'),('T', '2016-04-26'),('W', '2016-04-27'),('R', '2016-04-28'),('F', '2016-04-29'),('S', '2016-04-30')
- ('U', '2016-05-01'),('M', '2016-05-02'),('T', '2016-05-03'),('W', '2016-05-04'),('R', '2016-05-05'),('F', '2016-05-06'),('S', '2016-05-07')
- ('U', '2016-05-08'),('M', '2016-05-09'),('T', '2016-05-10'),('W', '2016-05-11'),('R', '2016-05-12'),('F', '2016-05-13'),('S', '2016-05-14')
- ('U', '2016-05-15'),('M', '2016-05-16'),('T', '2016-05-17'),('W', '2016-05-18'),('R', '2016-05-19'),('F', '2016-05-20'),('S', '2016-05-21')
- ('U', '2016-05-22'),('M', '2016-05-23')
复制代码 |