Pythonで万年カレンダーを実装するには?

万年カレンダーを実装するための簡単な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モジュールを使用して現在の日付と時間を取得し、現在の月の1日が何曜日かを計算し、その月の総日数を計算します。その後ループを使用して万年カレンダーの見出しと現在の月のカレンダーを出力します。カレンダーを出力する際には現在の日に特別な書式でマークを付けます。

bannerAds