34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
from datetime import datetime, date, timedelta
|
||
import calendar
|
||
|
||
from fontTools.misc.plistlib import end_date
|
||
|
||
if __name__ == "__main__":
|
||
|
||
def get_month_range(start_date=None):
|
||
if start_date is None:
|
||
start_date = date.today().replace(day=1)
|
||
_, days_in_month = calendar.monthrange(start_date.year, start_date.month)
|
||
|
||
end_date = start_date + timedelta(days = days_in_month)
|
||
|
||
return start_date, end_date
|
||
|
||
a_day = timedelta(days=1)
|
||
first_day, last_day = get_month_range()
|
||
|
||
while first_day < last_day:
|
||
print(first_day)
|
||
first_day = first_day + a_day
|
||
|
||
# 在获取一个月天数的时候,calendar库会非常好用,monthrange会返回第一个工作日的日期和当月的天数
|
||
|
||
# 如果想要实现和Python内建的range一样的遍历效果,可以写一个生成器
|
||
def date_range(start_date, end_date, step=timedelta(days=1)):
|
||
while start_date < end_date:
|
||
yield start_date
|
||
start_date += step
|
||
|
||
for d in date_range(first_day, last_day):
|
||
print(d)
|