2023年的
时间: 2023-09-16 16:15:57 浏览: 42
好的,以下是绘制2023年4~6月份日历图的Python代码,需要先安装lunarcalendar库:
```python
import calendar
import lunarcalendar
from lunarcalendar import Converter, Solar
# 设置日期范围
start_date = '2023-04-01'
end_date = '2023-06-30'
# 将日期字符串转为日期对象
start_date_obj = calendar.datetime.datetime.strptime(start_date, '%Y-%m-%d').date()
end_date_obj = calendar.datetime.datetime.strptime(end_date, '%Y-%m-%d').date()
# 循环打印每个月的日历
for year in range(start_date_obj.year, end_date_obj.year + 1):
for month in range(4 if year == start_date_obj.year else 1, 7 if year == end_date_obj.year else 13):
# 打印月份和星期几
print(calendar.month_name[month], year)
print('Mo Tu We Th Fr Sa Su')
# 获取当月第一天的星期几
first_day_weekday, days_in_month = calendar.monthrange(year, month)
# 循环打印每一天
for day in range(1, days_in_month+1):
solar_date = Solar(year, month, day)
lunar_date = Converter.Solar2Lunar(solar_date)
lunar_date_str = lunarcalendar.dayName(lunar_date)
day_str = '{:2d}'.format(day)
# 判断是否是当前月份的日期
if year == start_date_obj.year and month == start_date_obj.month and day < start_date_obj.day:
day_str = ''
elif year == end_date_obj.year and month == end_date_obj.month and day > end_date_obj.day:
day_str = ''
# 打印日期和农历日期
print(day_str + lunar_date_str, end=' ')
# 换行
if (day + first_day_weekday) % 7 == 0:
print()
print()
```
执行以上代码,即可输出2023年4~6月份带农历的日历图。