Skip to content

Commit 487d04a

Browse files
committed
go
1 parent 87e1148 commit 487d04a

2 files changed

Lines changed: 14 additions & 10 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,6 @@
167167
| 130 | [groupby多字段分组](md/130.md) | itemgetter,itertools,groupby | V1.0 | ⭐️⭐️⭐️⭐️ |
168168
| 131 | [itemgetter和key函数](md/131.md) | operator,itemgetter,itertools | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
169169
| 132 | [sum函数计算和聚合同时做](md/132.md) | sum,generator | V1.0 | ⭐️⭐️⭐️⭐️⭐️ |
170-
| | [获得某天后的1~n天](md/133.md) | Calendar,itermonthdates | V4.0 | ⭐️⭐️⭐️ |
170+
| 133 | [获得某天后的1~n天](md/133.md) | Calendar,monthrange | V4.0 | ⭐️⭐️⭐️ |
171171

172172
更多例子正在整理发布中......

md/133.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,19 @@ import calendar
1111
from datetime import date,datetime
1212

1313
def getEverydaySince(year,month,day,n=10):
14-
i = 0
15-
while i < n:
16-
for d in calendar.Calendar().itermonthdates(year,month):
17-
if i >= n:
18-
break
19-
if d < date(year,month,day):
20-
continue
21-
yield d
22-
i += 1
14+
i = 0
15+
_, days = calendar.monthrange(year, month)
16+
while i < n:
17+
d = date(year,month,day)
18+
if day == days:
19+
month,day = month+1,0
20+
_, days = calendar.monthrange(year, month)
21+
if month == 13:
22+
year,month = year+1,1
23+
_, days = calendar.monthrange(year, month)
24+
yield d
25+
day += 1
26+
i += 1
2327
```
2428

2529
测试结果:

0 commit comments

Comments
 (0)