Python内置模块—日历模块

  • Post author:
  • Post category:python




日历模块

code:

# ***************************************************
"""
日历模块:
    calendar.monthrange()---获取指定年份和月份的数据(第一天时周几,月份的天数)
"""
import calendar
import time,os


def showmonth(year, month):
    res = calendar.monthrange(year, month)
    days = res[1]  # 当前月份的天数
    w = res[0]  # 当前月份第一天是星期几
    print(f"*****{year}{month}月的日历信息*****")
    print(" 一  二   三  四   五  六  日 ")
    print("***************************")
    d = 1
    print("    " * w, end="")
    while d <= days:
        print(' {:0>2d} '.format(d), end="")
        if (d + w) % 7 == 0:
            print("\n", end="")
        d += 1
    print("\n***************************")


dd = time.localtime()
year = dd.tm_year
month = dd.tm_mon
showmonth(year,month)
while True:
    print("    <上一月       下一月>    ")
    res = input("请输入< or >选择:")
    os.system('cls')
    if res == '<':
        month -= 1
    elif res == '>':
        month += 1
    else:
        month = month
    if month == 0:
        year -= 1
        month = 12
    elif month == 13:
        year += 1
        month = 1
    showmonth(year, month)

运行结果:

E:\Programs_Way\Python\python.exe D:/Prj/_PythonSelf/Study_Basic_Grammar/_60Build_in_module_calendar.py
*****2022年1月的日历信息*****
 一  二   三  四   五  六  日 
***************************
                     01  02 
 03  04  05  06  07  08  09 
 10  11  12  13  14  15  16 
 17  18  19  20  21  22  23 
 24  25  26  27  28  29  30 
 31 
***************************
    <上一月       下一月>    
请输入< or >选择:<
*****2021年12月的日历信息*****
 一  二   三  四   五  六  日 
***************************
         01  02  03  04  05 
 06  07  08  09  10  11  12 
 13  14  15  16  17  18  19 
 20  21  22  23  24  25  26 
 27  28  29  30  31 
***************************
    <上一月       下一月>    
请输入< or >选择:>
*****2022年1月的日历信息*****
 一  二   三  四   五  六  日 
***************************
                     01  02 
 03  04  05  06  07  08  09 
 10  11  12  13  14  15  16 
 17  18  19  20  21  22  23 
 24  25  26  27  28  29  30 
 31 
***************************
    <上一月       下一月>    
请输入< or >选择:(这里可以一直循环下去噢嘿嘿)



版权声明:本文为weixin_44410704原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。