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