以下是一个简单的Python代码示例,用于实现万年历:
# 导入datetime模块,用于获取当前日期和时间
import datetime
# 获取当前日期
now = datetime.datetime.now()
# 获取当前年份、月份和日期
year = now.year
month = now.month
day = now.day
# 计算当前月份的第一天是星期几
first_day = datetime.datetime(year, month, 1)
first_day_weekday = first_day.weekday()
# 计算当前月份的总天数
if month == 12:
total_days = (datetime.datetime(year+1, 1, 1) - datetime.datetime(year, month, 1)).days
else:
total_days = (datetime.datetime(year, month+1, 1) - datetime.datetime(year, month, 1)).days
# 打印万年历表头
print(' Su Mo Tu We Th Fr Sa')
# 打印当前月份的日历
for i in range(first_day_weekday):
print(' ', end=' ')
for i in range(1, total_days+1):
if day == i:
print(f' {i:2d}', end=' ')
else:
print(f' {i:2d}', end=' ')
if (i+first_day_weekday) % 7 == 0:
print()
print()
该代码使用了datetime模块来获取当前日期和时间,并计算了当前月份的第一天是星期几以及总天数。然后使用循环打印了万年历的表头和当前月份的日历。在打印日历时,会将当前日期用特殊的格式进行标记。