用Pyhton 生成年/月/日方式的数据
自己喜欢用2022-01/2022-01-12 方式来组织目录,所以试一下 python 的实现
🕐
先看源码
years = range(2022, 2026)
months = range(1, 13)
def getDays(year, month):
days = range(1, 32)
if month == 2:
if year % 4 == 0:
days = range(1, 30)
else:
days = range(1, 29)
elif month in [4, 6, 9, 11]:
days = range(1, 31)
return days
for year in years:
for month in months:
str_m = str(month).rjust(2, '0')
print(f"{year}-{str_m}",getDays(year, month))分析 getDays
- 2月份逻辑,分2块
year%4:这种月份只有28天- 其它情况有29天
- 在[4,6,9,11]这几个月份30天
- 其它情况 31天
# getDays 逻辑打平
1. 2月,year % 4 === 0 return range(1,30);
2. 2月,year % 4 !== 0 return range(1,29);
3. [4, 6, 9, 11]月, return range(1,31);
4. return range(1,32);
# 根据DRY原则,抽象 getTail(year, month) 方法;
1. 2月,year % 4 === 0 return 30;
2. 2月,year % 4 !== 0 return 29;
3. [4, 6, 9, 11]月, return 31;
4. return 32