万年历python代码
以下是一个简单的万年历Python代码:
# 导入datetime模块
import datetime
# 获取当前日期
now = datetime.datetime.now()
# 获取当前年份和月份
year = now.year
month = now.month
# 打印当前年份和月份
print("当前年份:", year)
print("当前月份:", month)
# 获取当前月份的第一天是星期几
first_day = datetime.datetime(year, month, 1)
weekday = first_day.weekday()
# 打印当前月份的日历
print("日 一 二 三 四 五 六")
for i in range(weekday):
print(" ", end="")
for i in range(1, 32):
if i <= datetime.datetime(year, month, 1).strftime("%d"):
print("{:2d}".format(i), end=" ")
else:
break
if (i + weekday) % 7 == 0:
print()
print()
这个代码会输出当前年份和月份,以及当前月份的日历。
接下来我会对这个代码进行详细的解释。
首先,我们导入了Python的datetime模块,这个模块提供了处理日期和时间的函数和类。然后,我们使用datetime.datetime.now()函数获取当前日期和时间,并将其赋值给变量now。
接着,我们使用now.year和now.month获取当前年份和月份,并将它们分别赋值给变量year和month。
然后,我们使用datetime.datetime(year, month, 1)函数获取当前月份的第一天,并使用weekday()方法获取这一天是星期几。这个weekday变量的值是0到6之间的整数,分别代表星期一到星期日。
接下来,我们使用一个for循环来打印日历。首先,我们打印一行“日 一 二 三 四 五 六”,这是日历的表头。然后,我们使用一个for循环来打印当前月份的第一天之前的空格,这些空格是为了对齐日历的格式。接着,我们使用另一个for循环来打印当前月份的日期。如果当前日期小于等于当前月份的第一天,我们就打印这个日期,否则我们就跳出循环。如果当前日期是星期六,我们就打印一个换行符,以便在下一行继续打印日历。
最后,我们打印一个空行,以便在日历的下面留出一些空白。