calendar --- 日历相关函数
Calendar类
Calendar 对象提供了一些可被用于准备日历数据格式化的方法。 这个类本身不执行任何格式化操作。
#?部分源码
class?Calendar(object):
????"""
????Base?calendar?class.?This?class?doesn't?do?any?formatting.?It?simply
????provides?data?to?subclasses.
????"""
????def?__init__(self,?firstweekday=0):
????????self.firstweekday?=?firstweekday?#?0?=?Monday,?6?=?Sunday
初始化Calendar 类时,firstweekday 是一个整数,并且默认值为 0,这个 0 用于指定一周的第一天。 0 也就是星期一,6 是星期天。
Calendar 类的实例有下列方法:
????def?iterweekdays(self):
????????"""
????????获取一周的数字
????????"""
????def?itermonthdates(self,?year,?month):
????????"""
????????获取一个月的年月日,返回的datetime.date?对象
????????"""
????def?itermonthdays(self,?year,?month):
????????"""
????????获取一个月的日,不在本月的日使用?0?填充
????????"""
????def?itermonthdays2(self,?year,?month):
????????"""
????????获取一个月的日,并且每日跟随着周几。不在本月的日使用?0?填充
????????"""
????def?itermonthdays3(self,?year,?month):
????????"""
????????获取一个月的年月日,年月日为元祖类型。
????????例如:((2021,?11,?29),?(2021,?11,?30))
????????"""
????def?itermonthdays4(self,?year,?month):
????????"""
????????获取一个月的年月日,并且跟随着周几,年月日周几为元祖类型。
????????例如:((2021,?11,?29,?0),?(2021,?11,?30,?1))
????????"""
以上 6 种方法,返回的均是生成器对象,所以要记得类型强转下,示例效果如下:
from?calendar?import?Calendar
c?=?Calendar()
print(tuple(c.iterweekdays()))
print(tuple(c.itermonthdates(2021,?12)))
print(tuple(c.itermonthdays(2021,?12)))
print(tuple(c.itermonthdays2(2021,?12)))
print(tuple(c.itermonthdays3(2021,?12)))
print(tuple(c.itermonthdays4(2021,?12)))
#?运行结果:
(0,?1,?2,?3,?4,?5,?6)
(datetime.date(2021,?11,?29),?datetime.date(2021,?11,?30),?datetime.date(2021,?12,?1),?datetime.date(2021,?12,?2),?datetime.date(2021,?12,?3),?datetime.date(2021,?12,?4),?datetime.date(2021,?12,?5),?datetime.date(2021,?12,?6),?datetime.date(2021,?12,?7),?datetime.date(2021,?12,?8),?datetime.date(2021,?12,?9),?datetime.date(2021,?12,?10),?datetime.date(2021,?12,?11),?datetime.date(2021,?12,?12),?datetime.date(2021,?12,?13),?datetime.date(2021,?12,?14),?datetime.date(2021,?12,?15),?datetime.date(2021,?12,?16),?datetime.date(2021,?12,?17),?datetime.date(2021,?12,?18),?datetime.date(2021,?12,?19),?datetime.date(2021,?12,?20),?datetime.date(2021,?12,?21),?datetime.date(2021,?12,?22),?datetime.date(2021,?12,?23),?datetime.date(2021,?12,?24),?datetime.date(2021,?12,?25),?datetime.date(2021,?12,?26),?datetime.date(2021,?12,?27),?datetime.date(2021,?12,?28),?datetime.date(2021,?12,?29),?datetime.date(2021,?12,?30),?datetime.date(2021,?12,?31),?datetime.date(2022,?1,?1),?datetime.date(2022,?1,?2))
(0,?0,?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18,?19,?20,?21,?22,?23,?24,?25,?26,?27,?28,?29,?30,?31,?0,?0)
((0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6),?(6,?0),?(7,?1),?(8,?2),?(9,?3),?(10,?4),?(11,?5),?(12,?6),?(13,?0),?(14,?1),?(15,?2),?(16,?3),?(17,?4),?(18,?5),?(19,?6),?(20,?0),?(21,?1),?(22,?2),?(23,?3),?(24,?4),?(25,?5),?(26,?6),?(27,?0),?(28,?1),?(29,?2),?(30,?3),?(31,?4),?(0,?5),?(0,?6))
((2021,?11,?29),?(2021,?11,?30),?(2021,?12,?1),?(2021,?12,?2),?(2021,?12,?3),?(2021,?12,?4),?(2021,?12,?5),?(2021,?12,?6),?(2021,?12,?7),?(2021,?12,?8),?(2021,?12,?9),?(2021,?12,?10),?(2021,?12,?11),?(2021,?12,?12),?(2021,?12,?13),?(2021,?12,?14),?(2021,?12,?15),?(2021,?12,?16),?(2021,?12,?17),?(2021,?12,?18),?(2021,?12,?19),?(2021,?12,?20),?(2021,?12,?21),?(2021,?12,?22),?(2021,?12,?23),?(2021,?12,?24),?(2021,?12,?25),?(2021,?12,?26),?(2021,?12,?27),?(2021,?12,?28),?(2021,?12,?29),?(2021,?12,?30),?(2021,?12,?31),?(2022,?1,?1),?(2022,?1,?2))
((2021,?11,?29,?0),?(2021,?11,?30,?1),?(2021,?12,?1,?2),?(2021,?12,?2,?3),?(2021,?12,?3,?4),?(2021,?12,?4,?5),?(2021,?12,?5,?6),?(2021,?12,?6,?0),?(2021,?12,?7,?1),?(2021,?12,?8,?2),?(2021,?12,?9,?3),?(2021,?12,?10,?4),?(2021,?12,?11,?5),?(2021,?12,?12,?6),?(2021,?12,?13,?0),?(2021,?12,?14,?1),?(2021,?12,?15,?2),?(2021,?12,?16,?3),?(2021,?12,?17,?4),?(2021,?12,?18,?5),?(2021,?12,?19,?6),?(2021,?12,?20,?0),?(2021,?12,?21,?1),?(2021,?12,?22,?2),?(2021,?12,?23,?3),?(2021,?12,?24,?4),?(2021,?12,?25,?5),?(2021,?12,?26,?6),?(2021,?12,?27,?0),?(2021,?12,?28,?1),?(2021,?12,?29,?2),?(2021,?12,?30,?3),?(2021,?12,?31,?4),?(2022,?1,?1,?5),?(2022,?1,?2,?6))
Process?finished?with?exit?code?0
后续Calendar 类中又新增了 6 中实例方法,分别是处理月份和年的:
????def?monthdatescalendar(self,?year,?month):
????????"""
????????返回一个月的年月日,并且分割成四个周,使用的datetime.date?对象
????????例如:[
??????????????[datetime.date(2021,?11,?29),?datetime.date(2021,?11,?30),?datetime.date(2021,?12,?1),?datetime.date(2021,?12,?2),?datetime.date(2021,?12,?3),?datetime.date(2021,?12,?4),?datetime.date(2021,?12,?5)],?
??????????????[datetime.date(2021,?12,?6),?datetime.date(2021,?12,?7),?datetime.date(2021,?12,?8),?datetime.date(2021,?12,?9),?datetime.date(2021,?12,?10),?datetime.date(2021,?12,?11),?datetime.date(2021,?12,?12)],?
??????????????[datetime.date(2021,?12,?13),?datetime.date(2021,?12,?14),?datetime.date(2021,?12,?15),?datetime.date(2021,?12,?16),?datetime.date(2021,?12,?17),?datetime.date(2021,?12,?18),?datetime.date(2021,?12,?19)],?
??????????????[datetime.date(2021,?12,?20),?datetime.date(2021,?12,?21),?datetime.date(2021,?12,?22),?datetime.date(2021,?12,?23),?datetime.date(2021,?12,?24),?datetime.date(2021,?12,?25),?datetime.date(2021,?12,?26)],?
??????????????[datetime.date(2021,?12,?27),?datetime.date(2021,?12,?28),?datetime.date(2021,?12,?29),?datetime.date(2021,?12,?30),?datetime.date(2021,?12,?31),?datetime.date(2022,?1,?1),?datetime.date(2022,?1,?2)]
?????????????]
????????"""
????def?monthdays2calendar(self,?year,?month):
????????"""
????????返回一个月的天和周几,并且分割成四个周,不在本月的日使用?0?填充。
????????例如:[
??????????????[(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?
??????????????[(6,?0),?(7,?1),?(8,?2),?(9,?3),?(10,?4),?(11,?5),?(12,?6)],?
??????????????[(13,?0),?(14,?1),?(15,?2),?(16,?3),?(17,?4),?(18,?5),?(19,?6)],?
??????????????[(20,?0),?(21,?1),?(22,?2),?(23,?3),?(24,?4),?(25,?5),?(26,?6)],?
??????????????[(27,?0),?(28,?1),?(29,?2),?(30,?3),?(31,?4),?(0,?5),?(0,?6)]
?????????????]
????????"""
????def?monthdayscalendar(self,?year,?month):
????????"""
????????返回一个月的天,并且分割成四个周,不在本月的日使用?0?填充。
????????例如:[
??????????????[0,?0,?1,?2,?3,?4,?5],?
??????????????[6,?7,?8,?9,?10,?11,?12],?
??????????????[13,?14,?15,?16,?17,?18,?19],?
??????????????[20,?21,?22,?23,?24,?25,?26],?
??????????????[27,?28,?29,?30,?31,?0,?0]
?????????????]
????????"""
????def?yeardatescalendar(self,?year,?width=3):
????????"""
????????返回的值是一个列表,列表是月份组成的行。每一行包含了最多?width?个月(默认为3)。
????????每一天使用?datetime.date?对象。
????????"""
????def?yeardays2calendar(self,?year,?width=3):
????????"""
????????返回的值是一个列表,列表的元素是由表示日期的数字和表示星期几的数字组成的元组。
????????不在这个月的日子为0。
????????"""
????def?yeardayscalendar(self,?year,?width=3):
????????"""
????????返回的值是一个列表,周列表的元素是表示日期天的数字。不在这个月的日子为0。
????????"""
from?calendar?import?Calendar
c?=?Calendar()
print(c.monthdayscalendar(2021,?12))
print(c.monthdatescalendar(2021,?12))
print(c.monthdays2calendar(2021,?12))
#?运行结果
[
[0,?0,?1,?2,?3,?4,?5],?
[6,?7,?8,?9,?10,?11,?12],?
[13,?14,?15,?16,?17,?18,?19],?
[20,?21,?22,?23,?24,?25,?26],?
[27,?28,?29,?30,?31,?0,?0]
]
---
[
[datetime.date(2021,?11,?29),?datetime.date(2021,?11,?30),?datetime.date(2021,?12,?1),?datetime.date(2021,?12,?2),?datetime.date(2021,?12,?3),?datetime.date(2021,?12,?4),?datetime.date(2021,?12,?5)],
[datetime.date(2021,?12,?6),?datetime.date(2021,?12,?7),?datetime.date(2021,?12,?8),?datetime.date(2021,?12,?9),?datetime.date(2021,?12,?10),?datetime.date(2021,?12,?11),?datetime.date(2021,?12,?12)],?
[datetime.date(2021,?12,?13),?datetime.date(2021,?12,?14),?datetime.date(2021,?12,?15),?datetime.date(2021,?12,?16),?datetime.date(2021,?12,?17),?datetime.date(2021,?12,?18),?datetime.date(2021,?12,?19)],?
[datetime.date(2021,?12,?20),?datetime.date(2021,?12,?21),?datetime.date(2021,?12,?22),?datetime.date(2021,?12,?23),?datetime.date(2021,?12,?24),?datetime.date(2021,?12,?25),?datetime.date(2021,?12,?26)],?
[datetime.date(2021,?12,?27),?datetime.date(2021,?12,?28),?datetime.date(2021,?12,?29),?datetime.date(2021,?12,?30),?datetime.date(2021,?12,?31),?datetime.date(2022,?1,?1),?datetime.date(2022,?1,?2)]
]
---
[
[(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?
[(6,?0),?(7,?1),?(8,?2),?(9,?3),?(10,?4),?(11,?5),?(12,?6)],?
[(13,?0),?(14,?1),?(15,?2),?(16,?3),?(17,?4),?(18,?5),?(19,?6)],?
[(20,?0),?(21,?1),?(22,?2),?(23,?3),?(24,?4),?(25,?5),?(26,?6)],?
[(27,?0),?(28,?1),?(29,?2),?(30,?3),?(31,?4),?(0,?5),?(0,?6)]
]
Process?finished?with?exit?code?0
from?calendar?import?Calendar
c?=?Calendar()
for?i?in?c.yeardatescalendar(2021):
????print(i)
print()
for?i?in?c.yeardays2calendar(2021):
????print(i)
print()
for?i?in?c.yeardayscalendar(2021):
????print(i)
#?运行结果:
[[[datetime.date(2020,?12,?28),?datetime.date(2020,?12,?29),?datetime.date(2020,?12,?30),?datetime.date(2020,?12,?31),?datetime.date(2021,?1,?1),?datetime.date(2021,?1,?2),?datetime.date(2021,?1,?3)],?[datetime.date(2021,?1,?4),?datetime.date(2021,?1,?5),?datetime.date(2021,?1,?6),?datetime.date(2021,?1,?7),?datetime.date(2021,?1,?8),?datetime.date(2021,?1,?9),?datetime.date(2021,?1,?10)],?[datetime.date(2021,?1,?11),?datetime.date(2021,?1,?12),?datetime.date(2021,?1,?13),?datetime.date(2021,?1,?14),?datetime.date(2021,?1,?15),?datetime.date(2021,?1,?16),?datetime.date(2021,?1,?17)],?[datetime.date(2021,?1,?18),?datetime.date(2021,?1,?19),?datetime.date(2021,?1,?20),?datetime.date(2021,?1,?21),?datetime.date(2021,?1,?22),?datetime.date(2021,?1,?23),?datetime.date(2021,?1,?24)],?[datetime.date(2021,?1,?25),?datetime.date(2021,?1,?26),?datetime.date(2021,?1,?27),?datetime.date(2021,?1,?28),?datetime.date(2021,?1,?29),?datetime.date(2021,?1,?30),?datetime.date(2021,?1,?31)]],?[[datetime.date(2021,?2,?1),?datetime.date(2021,?2,?2),?datetime.date(2021,?2,?3),?datetime.date(2021,?2,?4),?datetime.date(2021,?2,?5),?datetime.date(2021,?2,?6),?datetime.date(2021,?2,?7)],?[datetime.date(2021,?2,?8),?datetime.date(2021,?2,?9),?datetime.date(2021,?2,?10),?datetime.date(2021,?2,?11),?datetime.date(2021,?2,?12),?datetime.date(2021,?2,?13),?datetime.date(2021,?2,?14)],?[datetime.date(2021,?2,?15),?datetime.date(2021,?2,?16),?datetime.date(2021,?2,?17),?datetime.date(2021,?2,?18),?datetime.date(2021,?2,?19),?datetime.date(2021,?2,?20),?datetime.date(2021,?2,?21)],?[datetime.date(2021,?2,?22),?datetime.date(2021,?2,?23),?datetime.date(2021,?2,?24),?datetime.date(2021,?2,?25),?datetime.date(2021,?2,?26),?datetime.date(2021,?2,?27),?datetime.date(2021,?2,?28)]],?[[datetime.date(2021,?3,?1),?datetime.date(2021,?3,?2),?datetime.date(2021,?3,?3),?datetime.date(2021,?3,?4),?datetime.date(2021,?3,?5),?datetime.date(2021,?3,?6),?datetime.date(2021,?3,?7)],?[datetime.date(2021,?3,?8),?datetime.date(2021,?3,?9),?datetime.date(2021,?3,?10),?datetime.date(2021,?3,?11),?datetime.date(2021,?3,?12),?datetime.date(2021,?3,?13),?datetime.date(2021,?3,?14)],?[datetime.date(2021,?3,?15),?datetime.date(2021,?3,?16),?datetime.date(2021,?3,?17),?datetime.date(2021,?3,?18),?datetime.date(2021,?3,?19),?datetime.date(2021,?3,?20),?datetime.date(2021,?3,?21)],?[datetime.date(2021,?3,?22),?datetime.date(2021,?3,?23),?datetime.date(2021,?3,?24),?datetime.date(2021,?3,?25),?datetime.date(2021,?3,?26),?datetime.date(2021,?3,?27),?datetime.date(2021,?3,?28)],?[datetime.date(2021,?3,?29),?datetime.date(2021,?3,?30),?datetime.date(2021,?3,?31),?datetime.date(2021,?4,?1),?datetime.date(2021,?4,?2),?datetime.date(2021,?4,?3),?datetime.date(2021,?4,?4)]]]
[[[datetime.date(2021,?3,?29),?datetime.date(2021,?3,?30),?datetime.date(2021,?3,?31),?datetime.date(2021,?4,?1),?datetime.date(2021,?4,?2),?datetime.date(2021,?4,?3),?datetime.date(2021,?4,?4)],?[datetime.date(2021,?4,?5),?datetime.date(2021,?4,?6),?datetime.date(2021,?4,?7),?datetime.date(2021,?4,?8),?datetime.date(2021,?4,?9),?datetime.date(2021,?4,?10),?datetime.date(2021,?4,?11)],?[datetime.date(2021,?4,?12),?datetime.date(2021,?4,?13),?datetime.date(2021,?4,?14),?datetime.date(2021,?4,?15),?datetime.date(2021,?4,?16),?datetime.date(2021,?4,?17),?datetime.date(2021,?4,?18)],?[datetime.date(2021,?4,?19),?datetime.date(2021,?4,?20),?datetime.date(2021,?4,?21),?datetime.date(2021,?4,?22),?datetime.date(2021,?4,?23),?datetime.date(2021,?4,?24),?datetime.date(2021,?4,?25)],?[datetime.date(2021,?4,?26),?datetime.date(2021,?4,?27),?datetime.date(2021,?4,?28),?datetime.date(2021,?4,?29),?datetime.date(2021,?4,?30),?datetime.date(2021,?5,?1),?datetime.date(2021,?5,?2)]],?[[datetime.date(2021,?4,?26),?datetime.date(2021,?4,?27),?datetime.date(2021,?4,?28),?datetime.date(2021,?4,?29),?datetime.date(2021,?4,?30),?datetime.date(2021,?5,?1),?datetime.date(2021,?5,?2)],?[datetime.date(2021,?5,?3),?datetime.date(2021,?5,?4),?datetime.date(2021,?5,?5),?datetime.date(2021,?5,?6),?datetime.date(2021,?5,?7),?datetime.date(2021,?5,?8),?datetime.date(2021,?5,?9)],?[datetime.date(2021,?5,?10),?datetime.date(2021,?5,?11),?datetime.date(2021,?5,?12),?datetime.date(2021,?5,?13),?datetime.date(2021,?5,?14),?datetime.date(2021,?5,?15),?datetime.date(2021,?5,?16)],?[datetime.date(2021,?5,?17),?datetime.date(2021,?5,?18),?datetime.date(2021,?5,?19),?datetime.date(2021,?5,?20),?datetime.date(2021,?5,?21),?datetime.date(2021,?5,?22),?datetime.date(2021,?5,?23)],?[datetime.date(2021,?5,?24),?datetime.date(2021,?5,?25),?datetime.date(2021,?5,?26),?datetime.date(2021,?5,?27),?datetime.date(2021,?5,?28),?datetime.date(2021,?5,?29),?datetime.date(2021,?5,?30)],?[datetime.date(2021,?5,?31),?datetime.date(2021,?6,?1),?datetime.date(2021,?6,?2),?datetime.date(2021,?6,?3),?datetime.date(2021,?6,?4),?datetime.date(2021,?6,?5),?datetime.date(2021,?6,?6)]],?[[datetime.date(2021,?5,?31),?datetime.date(2021,?6,?1),?datetime.date(2021,?6,?2),?datetime.date(2021,?6,?3),?datetime.date(2021,?6,?4),?datetime.date(2021,?6,?5),?datetime.date(2021,?6,?6)],?[datetime.date(2021,?6,?7),?datetime.date(2021,?6,?8),?datetime.date(2021,?6,?9),?datetime.date(2021,?6,?10),?datetime.date(2021,?6,?11),?datetime.date(2021,?6,?12),?datetime.date(2021,?6,?13)],?[datetime.date(2021,?6,?14),?datetime.date(2021,?6,?15),?datetime.date(2021,?6,?16),?datetime.date(2021,?6,?17),?datetime.date(2021,?6,?18),?datetime.date(2021,?6,?19),?datetime.date(2021,?6,?20)],?[datetime.date(2021,?6,?21),?datetime.date(2021,?6,?22),?datetime.date(2021,?6,?23),?datetime.date(2021,?6,?24),?datetime.date(2021,?6,?25),?datetime.date(2021,?6,?26),?datetime.date(2021,?6,?27)],?[datetime.date(2021,?6,?28),?datetime.date(2021,?6,?29),?datetime.date(2021,?6,?30),?datetime.date(2021,?7,?1),?datetime.date(2021,?7,?2),?datetime.date(2021,?7,?3),?datetime.date(2021,?7,?4)]]]
[[[datetime.date(2021,?6,?28),?datetime.date(2021,?6,?29),?datetime.date(2021,?6,?30),?datetime.date(2021,?7,?1),?datetime.date(2021,?7,?2),?datetime.date(2021,?7,?3),?datetime.date(2021,?7,?4)],?[datetime.date(2021,?7,?5),?datetime.date(2021,?7,?6),?datetime.date(2021,?7,?7),?datetime.date(2021,?7,?8),?datetime.date(2021,?7,?9),?datetime.date(2021,?7,?10),?datetime.date(2021,?7,?11)],?[datetime.date(2021,?7,?12),?datetime.date(2021,?7,?13),?datetime.date(2021,?7,?14),?datetime.date(2021,?7,?15),?datetime.date(2021,?7,?16),?datetime.date(2021,?7,?17),?datetime.date(2021,?7,?18)],?[datetime.date(2021,?7,?19),?datetime.date(2021,?7,?20),?datetime.date(2021,?7,?21),?datetime.date(2021,?7,?22),?datetime.date(2021,?7,?23),?datetime.date(2021,?7,?24),?datetime.date(2021,?7,?25)],?[datetime.date(2021,?7,?26),?datetime.date(2021,?7,?27),?datetime.date(2021,?7,?28),?datetime.date(2021,?7,?29),?datetime.date(2021,?7,?30),?datetime.date(2021,?7,?31),?datetime.date(2021,?8,?1)]],?[[datetime.date(2021,?7,?26),?datetime.date(2021,?7,?27),?datetime.date(2021,?7,?28),?datetime.date(2021,?7,?29),?datetime.date(2021,?7,?30),?datetime.date(2021,?7,?31),?datetime.date(2021,?8,?1)],?[datetime.date(2021,?8,?2),?datetime.date(2021,?8,?3),?datetime.date(2021,?8,?4),?datetime.date(2021,?8,?5),?datetime.date(2021,?8,?6),?datetime.date(2021,?8,?7),?datetime.date(2021,?8,?8)],?[datetime.date(2021,?8,?9),?datetime.date(2021,?8,?10),?datetime.date(2021,?8,?11),?datetime.date(2021,?8,?12),?datetime.date(2021,?8,?13),?datetime.date(2021,?8,?14),?datetime.date(2021,?8,?15)],?[datetime.date(2021,?8,?16),?datetime.date(2021,?8,?17),?datetime.date(2021,?8,?18),?datetime.date(2021,?8,?19),?datetime.date(2021,?8,?20),?datetime.date(2021,?8,?21),?datetime.date(2021,?8,?22)],?[datetime.date(2021,?8,?23),?datetime.date(2021,?8,?24),?datetime.date(2021,?8,?25),?datetime.date(2021,?8,?26),?datetime.date(2021,?8,?27),?datetime.date(2021,?8,?28),?datetime.date(2021,?8,?29)],?[datetime.date(2021,?8,?30),?datetime.date(2021,?8,?31),?datetime.date(2021,?9,?1),?datetime.date(2021,?9,?2),?datetime.date(2021,?9,?3),?datetime.date(2021,?9,?4),?datetime.date(2021,?9,?5)]],?[[datetime.date(2021,?8,?30),?datetime.date(2021,?8,?31),?datetime.date(2021,?9,?1),?datetime.date(2021,?9,?2),?datetime.date(2021,?9,?3),?datetime.date(2021,?9,?4),?datetime.date(2021,?9,?5)],?[datetime.date(2021,?9,?6),?datetime.date(2021,?9,?7),?datetime.date(2021,?9,?8),?datetime.date(2021,?9,?9),?datetime.date(2021,?9,?10),?datetime.date(2021,?9,?11),?datetime.date(2021,?9,?12)],?[datetime.date(2021,?9,?13),?datetime.date(2021,?9,?14),?datetime.date(2021,?9,?15),?datetime.date(2021,?9,?16),?datetime.date(2021,?9,?17),?datetime.date(2021,?9,?18),?datetime.date(2021,?9,?19)],?[datetime.date(2021,?9,?20),?datetime.date(2021,?9,?21),?datetime.date(2021,?9,?22),?datetime.date(2021,?9,?23),?datetime.date(2021,?9,?24),?datetime.date(2021,?9,?25),?datetime.date(2021,?9,?26)],?[datetime.date(2021,?9,?27),?datetime.date(2021,?9,?28),?datetime.date(2021,?9,?29),?datetime.date(2021,?9,?30),?datetime.date(2021,?10,?1),?datetime.date(2021,?10,?2),?datetime.date(2021,?10,?3)]]]
[[[datetime.date(2021,?9,?27),?datetime.date(2021,?9,?28),?datetime.date(2021,?9,?29),?datetime.date(2021,?9,?30),?datetime.date(2021,?10,?1),?datetime.date(2021,?10,?2),?datetime.date(2021,?10,?3)],?[datetime.date(2021,?10,?4),?datetime.date(2021,?10,?5),?datetime.date(2021,?10,?6),?datetime.date(2021,?10,?7),?datetime.date(2021,?10,?8),?datetime.date(2021,?10,?9),?datetime.date(2021,?10,?10)],?[datetime.date(2021,?10,?11),?datetime.date(2021,?10,?12),?datetime.date(2021,?10,?13),?datetime.date(2021,?10,?14),?datetime.date(2021,?10,?15),?datetime.date(2021,?10,?16),?datetime.date(2021,?10,?17)],?[datetime.date(2021,?10,?18),?datetime.date(2021,?10,?19),?datetime.date(2021,?10,?20),?datetime.date(2021,?10,?21),?datetime.date(2021,?10,?22),?datetime.date(2021,?10,?23),?datetime.date(2021,?10,?24)],?[datetime.date(2021,?10,?25),?datetime.date(2021,?10,?26),?datetime.date(2021,?10,?27),?datetime.date(2021,?10,?28),?datetime.date(2021,?10,?29),?datetime.date(2021,?10,?30),?datetime.date(2021,?10,?31)]],?[[datetime.date(2021,?11,?1),?datetime.date(2021,?11,?2),?datetime.date(2021,?11,?3),?datetime.date(2021,?11,?4),?datetime.date(2021,?11,?5),?datetime.date(2021,?11,?6),?datetime.date(2021,?11,?7)],?[datetime.date(2021,?11,?8),?datetime.date(2021,?11,?9),?datetime.date(2021,?11,?10),?datetime.date(2021,?11,?11),?datetime.date(2021,?11,?12),?datetime.date(2021,?11,?13),?datetime.date(2021,?11,?14)],?[datetime.date(2021,?11,?15),?datetime.date(2021,?11,?16),?datetime.date(2021,?11,?17),?datetime.date(2021,?11,?18),?datetime.date(2021,?11,?19),?datetime.date(2021,?11,?20),?datetime.date(2021,?11,?21)],?[datetime.date(2021,?11,?22),?datetime.date(2021,?11,?23),?datetime.date(2021,?11,?24),?datetime.date(2021,?11,?25),?datetime.date(2021,?11,?26),?datetime.date(2021,?11,?27),?datetime.date(2021,?11,?28)],?[datetime.date(2021,?11,?29),?datetime.date(2021,?11,?30),?datetime.date(2021,?12,?1),?datetime.date(2021,?12,?2),?datetime.date(2021,?12,?3),?datetime.date(2021,?12,?4),?datetime.date(2021,?12,?5)]],?[[datetime.date(2021,?11,?29),?datetime.date(2021,?11,?30),?datetime.date(2021,?12,?1),?datetime.date(2021,?12,?2),?datetime.date(2021,?12,?3),?datetime.date(2021,?12,?4),?datetime.date(2021,?12,?5)],?[datetime.date(2021,?12,?6),?datetime.date(2021,?12,?7),?datetime.date(2021,?12,?8),?datetime.date(2021,?12,?9),?datetime.date(2021,?12,?10),?datetime.date(2021,?12,?11),?datetime.date(2021,?12,?12)],?[datetime.date(2021,?12,?13),?datetime.date(2021,?12,?14),?datetime.date(2021,?12,?15),?datetime.date(2021,?12,?16),?datetime.date(2021,?12,?17),?datetime.date(2021,?12,?18),?datetime.date(2021,?12,?19)],?[datetime.date(2021,?12,?20),?datetime.date(2021,?12,?21),?datetime.date(2021,?12,?22),?datetime.date(2021,?12,?23),?datetime.date(2021,?12,?24),?datetime.date(2021,?12,?25),?datetime.date(2021,?12,?26)],?[datetime.date(2021,?12,?27),?datetime.date(2021,?12,?28),?datetime.date(2021,?12,?29),?datetime.date(2021,?12,?30),?datetime.date(2021,?12,?31),?datetime.date(2022,?1,?1),?datetime.date(2022,?1,?2)]]]
[[[(0,?0),?(0,?1),?(0,?2),?(0,?3),?(1,?4),?(2,?5),?(3,?6)],?[(4,?0),?(5,?1),?(6,?2),?(7,?3),?(8,?4),?(9,?5),?(10,?6)],?[(11,?0),?(12,?1),?(13,?2),?(14,?3),?(15,?4),?(16,?5),?(17,?6)],?[(18,?0),?(19,?1),?(20,?2),?(21,?3),?(22,?4),?(23,?5),?(24,?6)],?[(25,?0),?(26,?1),?(27,?2),?(28,?3),?(29,?4),?(30,?5),?(31,?6)]],?[[(1,?0),?(2,?1),?(3,?2),?(4,?3),?(5,?4),?(6,?5),?(7,?6)],?[(8,?0),?(9,?1),?(10,?2),?(11,?3),?(12,?4),?(13,?5),?(14,?6)],?[(15,?0),?(16,?1),?(17,?2),?(18,?3),?(19,?4),?(20,?5),?(21,?6)],?[(22,?0),?(23,?1),?(24,?2),?(25,?3),?(26,?4),?(27,?5),?(28,?6)]],?[[(1,?0),?(2,?1),?(3,?2),?(4,?3),?(5,?4),?(6,?5),?(7,?6)],?[(8,?0),?(9,?1),?(10,?2),?(11,?3),?(12,?4),?(13,?5),?(14,?6)],?[(15,?0),?(16,?1),?(17,?2),?(18,?3),?(19,?4),?(20,?5),?(21,?6)],?[(22,?0),?(23,?1),?(24,?2),?(25,?3),?(26,?4),?(27,?5),?(28,?6)],?[(29,?0),?(30,?1),?(31,?2),?(0,?3),?(0,?4),?(0,?5),?(0,?6)]]]
[[[(0,?0),?(0,?1),?(0,?2),?(1,?3),?(2,?4),?(3,?5),?(4,?6)],?[(5,?0),?(6,?1),?(7,?2),?(8,?3),?(9,?4),?(10,?5),?(11,?6)],?[(12,?0),?(13,?1),?(14,?2),?(15,?3),?(16,?4),?(17,?5),?(18,?6)],?[(19,?0),?(20,?1),?(21,?2),?(22,?3),?(23,?4),?(24,?5),?(25,?6)],?[(26,?0),?(27,?1),?(28,?2),?(29,?3),?(30,?4),?(0,?5),?(0,?6)]],?[[(0,?0),?(0,?1),?(0,?2),?(0,?3),?(0,?4),?(1,?5),?(2,?6)],?[(3,?0),?(4,?1),?(5,?2),?(6,?3),?(7,?4),?(8,?5),?(9,?6)],?[(10,?0),?(11,?1),?(12,?2),?(13,?3),?(14,?4),?(15,?5),?(16,?6)],?[(17,?0),?(18,?1),?(19,?2),?(20,?3),?(21,?4),?(22,?5),?(23,?6)],?[(24,?0),?(25,?1),?(26,?2),?(27,?3),?(28,?4),?(29,?5),?(30,?6)],?[(31,?0),?(0,?1),?(0,?2),?(0,?3),?(0,?4),?(0,?5),?(0,?6)]],?[[(0,?0),?(1,?1),?(2,?2),?(3,?3),?(4,?4),?(5,?5),?(6,?6)],?[(7,?0),?(8,?1),?(9,?2),?(10,?3),?(11,?4),?(12,?5),?(13,?6)],?[(14,?0),?(15,?1),?(16,?2),?(17,?3),?(18,?4),?(19,?5),?(20,?6)],?[(21,?0),?(22,?1),?(23,?2),?(24,?3),?(25,?4),?(26,?5),?(27,?6)],?[(28,?0),?(29,?1),?(30,?2),?(0,?3),?(0,?4),?(0,?5),?(0,?6)]]]
[[[(0,?0),?(0,?1),?(0,?2),?(1,?3),?(2,?4),?(3,?5),?(4,?6)],?[(5,?0),?(6,?1),?(7,?2),?(8,?3),?(9,?4),?(10,?5),?(11,?6)],?[(12,?0),?(13,?1),?(14,?2),?(15,?3),?(16,?4),?(17,?5),?(18,?6)],?[(19,?0),?(20,?1),?(21,?2),?(22,?3),?(23,?4),?(24,?5),?(25,?6)],?[(26,?0),?(27,?1),?(28,?2),?(29,?3),?(30,?4),?(31,?5),?(0,?6)]],?[[(0,?0),?(0,?1),?(0,?2),?(0,?3),?(0,?4),?(0,?5),?(1,?6)],?[(2,?0),?(3,?1),?(4,?2),?(5,?3),?(6,?4),?(7,?5),?(8,?6)],?[(9,?0),?(10,?1),?(11,?2),?(12,?3),?(13,?4),?(14,?5),?(15,?6)],?[(16,?0),?(17,?1),?(18,?2),?(19,?3),?(20,?4),?(21,?5),?(22,?6)],?[(23,?0),?(24,?1),?(25,?2),?(26,?3),?(27,?4),?(28,?5),?(29,?6)],?[(30,?0),?(31,?1),?(0,?2),?(0,?3),?(0,?4),?(0,?5),?(0,?6)]],?[[(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?[(6,?0),?(7,?1),?(8,?2),?(9,?3),?(10,?4),?(11,?5),?(12,?6)],?[(13,?0),?(14,?1),?(15,?2),?(16,?3),?(17,?4),?(18,?5),?(19,?6)],?[(20,?0),?(21,?1),?(22,?2),?(23,?3),?(24,?4),?(25,?5),?(26,?6)],?[(27,?0),?(28,?1),?(29,?2),?(30,?3),?(0,?4),?(0,?5),?(0,?6)]]]
[[[(0,?0),?(0,?1),?(0,?2),?(0,?3),?(1,?4),?(2,?5),?(3,?6)],?[(4,?0),?(5,?1),?(6,?2),?(7,?3),?(8,?4),?(9,?5),?(10,?6)],?[(11,?0),?(12,?1),?(13,?2),?(14,?3),?(15,?4),?(16,?5),?(17,?6)],?[(18,?0),?(19,?1),?(20,?2),?(21,?3),?(22,?4),?(23,?5),?(24,?6)],?[(25,?0),?(26,?1),?(27,?2),?(28,?3),?(29,?4),?(30,?5),?(31,?6)]],?[[(1,?0),?(2,?1),?(3,?2),?(4,?3),?(5,?4),?(6,?5),?(7,?6)],?[(8,?0),?(9,?1),?(10,?2),?(11,?3),?(12,?4),?(13,?5),?(14,?6)],?[(15,?0),?(16,?1),?(17,?2),?(18,?3),?(19,?4),?(20,?5),?(21,?6)],?[(22,?0),?(23,?1),?(24,?2),?(25,?3),?(26,?4),?(27,?5),?(28,?6)],?[(29,?0),?(30,?1),?(0,?2),?(0,?3),?(0,?4),?(0,?5),?(0,?6)]],?[[(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?[(6,?0),?(7,?1),?(8,?2),?(9,?3),?(10,?4),?(11,?5),?(12,?6)],?[(13,?0),?(14,?1),?(15,?2),?(16,?3),?(17,?4),?(18,?5),?(19,?6)],?[(20,?0),?(21,?1),?(22,?2),?(23,?3),?(24,?4),?(25,?5),?(26,?6)],?[(27,?0),?(28,?1),?(29,?2),?(30,?3),?(31,?4),?(0,?5),?(0,?6)]]]
[[[0,?0,?0,?0,?1,?2,?3],?[4,?5,?6,?7,?8,?9,?10],?[11,?12,?13,?14,?15,?16,?17],?[18,?19,?20,?21,?22,?23,?24],?[25,?26,?27,?28,?29,?30,?31]],?[[1,?2,?3,?4,?5,?6,?7],?[8,?9,?10,?11,?12,?13,?14],?[15,?16,?17,?18,?19,?20,?21],?[22,?23,?24,?25,?26,?27,?28]],?[[1,?2,?3,?4,?5,?6,?7],?[8,?9,?10,?11,?12,?13,?14],?[15,?16,?17,?18,?19,?20,?21],?[22,?23,?24,?25,?26,?27,?28],?[29,?30,?31,?0,?0,?0,?0]]]
[[[0,?0,?0,?1,?2,?3,?4],?[5,?6,?7,?8,?9,?10,?11],?[12,?13,?14,?15,?16,?17,?18],?[19,?20,?21,?22,?23,?24,?25],?[26,?27,?28,?29,?30,?0,?0]],?[[0,?0,?0,?0,?0,?1,?2],?[3,?4,?5,?6,?7,?8,?9],?[10,?11,?12,?13,?14,?15,?16],?[17,?18,?19,?20,?21,?22,?23],?[24,?25,?26,?27,?28,?29,?30],?[31,?0,?0,?0,?0,?0,?0]],?[[0,?1,?2,?3,?4,?5,?6],?[7,?8,?9,?10,?11,?12,?13],?[14,?15,?16,?17,?18,?19,?20],?[21,?22,?23,?24,?25,?26,?27],?[28,?29,?30,?0,?0,?0,?0]]]
[[[0,?0,?0,?1,?2,?3,?4],?[5,?6,?7,?8,?9,?10,?11],?[12,?13,?14,?15,?16,?17,?18],?[19,?20,?21,?22,?23,?24,?25],?[26,?27,?28,?29,?30,?31,?0]],?[[0,?0,?0,?0,?0,?0,?1],?[2,?3,?4,?5,?6,?7,?8],?[9,?10,?11,?12,?13,?14,?15],?[16,?17,?18,?19,?20,?21,?22],?[23,?24,?25,?26,?27,?28,?29],?[30,?31,?0,?0,?0,?0,?0]],?[[0,?0,?1,?2,?3,?4,?5],?[6,?7,?8,?9,?10,?11,?12],?[13,?14,?15,?16,?17,?18,?19],?[20,?21,?22,?23,?24,?25,?26],?[27,?28,?29,?30,?0,?0,?0]]]
[[[0,?0,?0,?0,?1,?2,?3],?[4,?5,?6,?7,?8,?9,?10],?[11,?12,?13,?14,?15,?16,?17],?[18,?19,?20,?21,?22,?23,?24],?[25,?26,?27,?28,?29,?30,?31]],?[[1,?2,?3,?4,?5,?6,?7],?[8,?9,?10,?11,?12,?13,?14],?[15,?16,?17,?18,?19,?20,?21],?[22,?23,?24,?25,?26,?27,?28],?[29,?30,?0,?0,?0,?0,?0]],?[[0,?0,?1,?2,?3,?4,?5],?[6,?7,?8,?9,?10,?11,?12],?[13,?14,?15,?16,?17,?18,?19],?[20,?21,?22,?23,?24,?25,?26],?[27,?28,?29,?30,?31,?0,?0]]]
Process?finished?with?exit?code?0
TextCalendar类
可以使用这个类生成纯文本日历。TextCalendar 是Calendar 的子类,也就是TextCalendar 继承了Calendar ,所以Calendar 中的实例方法,TextCalendar 都可以调用。
class?TextCalendar(Calendar):
????"""
????Subclass?of?Calendar?that?outputs?a?calendar?as?a?simple?plain?text
????similar?to?the?UNIX?program?cal.
????"""
????def?prweek(self,?theweek,?width):
????????"""
????????打印一周,方法内部调用的是formatweek方法
????????"""
????def?formatday(self,?day,?weekday,?width):
????????"""
????????返回格式化的日期
????????"""
????def?formatweek(self,?theweek,?width):
????????"""
????????以字符串形式返回一周(无换行符)。w?为日期的宽度
????????例如:
????????t?=?TextCalendar()
????????print(t.formatweek([(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?1))?
????????运行结果:?1??2??3??4??5
????????"""
????def?formatweekday(self,?day,?width):
????????"""
????????返回格式化的星期几名称。?
????????"""
????def?formatweekheader(self,?width):
????????"""
????????返回一个星期的标题。?
????????"""
????def?formatmonthname(self,?theyear,?themonth,?width,?withyear=True):
????????"""
????????返回格式化的月份名称
????????"""
????def?prmonth(self,?theyear,?themonth,?w=0,?l=0):
????????"""
????????打印一个月的日历。?
????????"""
????def?formatmonth(self,?theyear,?themonth,?w=0,?l=0):
????????"""
????????返回一个月的日历字符串(多行)
????????"""
????def?formatyear(self,?theyear,?w=2,?l=1,?c=6,?m=3):
????????"""
????????以多行字符串形式返回一年的日历。
????????"""
????def?pryear(self,?theyear,?w=0,?l=0,?c=6,?m=3):
????????"""
????????打印一年的日历?,方法内部调用的是formatyear方法
????????"""
以上方法运行示例如下:
- 首先是没有返回值的方法,只是print打印,所有都会带一个None值(没有返回值,默认返回None)
from?calendar?import?TextCalendar
t?=?TextCalendar()
print(t.pryear(2021))
print()
print(t.prmonth(2021,?6,?w=2,?l=1))
print()
print(t.prweek([(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?1))
#?运行结果:
??????????????????????????????????2021
??????January???????????????????February???????????????????March
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
?????????????1??2??3???????1??2??3??4??5??6??7???????1??2??3??4??5??6??7
?4??5??6??7??8??9?10???????8??9?10?11?12?13?14???????8??9?10?11?12?13?14
11?12?13?14?15?16?17??????15?16?17?18?19?20?21??????15?16?17?18?19?20?21
18?19?20?21?22?23?24??????22?23?24?25?26?27?28??????22?23?24?25?26?27?28
25?26?27?28?29?30?31????????????????????????????????29?30?31
???????April??????????????????????May???????????????????????June
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
??????????1??2??3??4??????????????????????1??2??????????1??2??3??4??5??6
?5??6??7??8??9?10?11???????3??4??5??6??7??8??9???????7??8??9?10?11?12?13
12?13?14?15?16?17?18??????10?11?12?13?14?15?16??????14?15?16?17?18?19?20
19?20?21?22?23?24?25??????17?18?19?20?21?22?23??????21?22?23?24?25?26?27
26?27?28?29?30????????????24?25?26?27?28?29?30??????28?29?30
??????????????????????????31
????????July?????????????????????August??????????????????September
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
??????????1??2??3??4?????????????????????????1?????????????1??2??3??4??5
?5??6??7??8??9?10?11???????2??3??4??5??6??7??8???????6??7??8??9?10?11?12
12?13?14?15?16?17?18???????9?10?11?12?13?14?15??????13?14?15?16?17?18?19
19?20?21?22?23?24?25??????16?17?18?19?20?21?22??????20?21?22?23?24?25?26
26?27?28?29?30?31?????????23?24?25?26?27?28?29??????27?28?29?30
??????????????????????????30?31
??????October???????????????????November??????????????????December
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
?????????????1??2??3???????1??2??3??4??5??6??7?????????????1??2??3??4??5
?4??5??6??7??8??9?10???????8??9?10?11?12?13?14???????6??7??8??9?10?11?12
11?12?13?14?15?16?17??????15?16?17?18?19?20?21??????13?14?15?16?17?18?19
18?19?20?21?22?23?24??????22?23?24?25?26?27?28??????20?21?22?23?24?25?26
25?26?27?28?29?30?31??????29?30?????????????????????27?28?29?30?31
None
?????June?2021
Mo?Tu?We?Th?Fr?Sa?Su
????1??2??3??4??5??6
?7??8??9?10?11?12?13
14?15?16?17?18?19?20
21?22?23?24?25?26?27
28?29?30
None
???1??2??3??4??5None
Process?finished?with?exit?code?0
- 其次是有返回值的方法,也就是有return返回值的
from?calendar?import?TextCalendar
t?=?TextCalendar()
print(t.formatyear(2021))
print(t.formatmonth(2021,?6,?w=1,?l=1))
print(t.formatweek([(0,?0),?(0,?1),?(1,?2),?(2,?3),?(3,?4),?(4,?5),?(5,?6)],?1))
print(t.formatday(6,?[(0,?1),?(0,?2),?(1,?3),?(2,?4),?(3,?5),?(4,?6)],?1))
print(t.formatweekday(6,?1))
#?运行结果
??????????????????????????????????2021
??????January???????????????????February???????????????????March
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
?????????????1??2??3???????1??2??3??4??5??6??7???????1??2??3??4??5??6??7
?4??5??6??7??8??9?10???????8??9?10?11?12?13?14???????8??9?10?11?12?13?14
11?12?13?14?15?16?17??????15?16?17?18?19?20?21??????15?16?17?18?19?20?21
18?19?20?21?22?23?24??????22?23?24?25?26?27?28??????22?23?24?25?26?27?28
25?26?27?28?29?30?31????????????????????????????????29?30?31
???????April??????????????????????May???????????????????????June
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
??????????1??2??3??4??????????????????????1??2??????????1??2??3??4??5??6
?5??6??7??8??9?10?11???????3??4??5??6??7??8??9???????7??8??9?10?11?12?13
12?13?14?15?16?17?18??????10?11?12?13?14?15?16??????14?15?16?17?18?19?20
19?20?21?22?23?24?25??????17?18?19?20?21?22?23??????21?22?23?24?25?26?27
26?27?28?29?30????????????24?25?26?27?28?29?30??????28?29?30
??????????????????????????31
????????July?????????????????????August??????????????????September
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
??????????1??2??3??4?????????????????????????1?????????????1??2??3??4??5
?5??6??7??8??9?10?11???????2??3??4??5??6??7??8???????6??7??8??9?10?11?12
12?13?14?15?16?17?18???????9?10?11?12?13?14?15??????13?14?15?16?17?18?19
19?20?21?22?23?24?25??????16?17?18?19?20?21?22??????20?21?22?23?24?25?26
26?27?28?29?30?31?????????23?24?25?26?27?28?29??????27?28?29?30
??????????????????????????30?31
??????October???????????????????November??????????????????December
Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su
?????????????1??2??3???????1??2??3??4??5??6??7?????????????1??2??3??4??5
?4??5??6??7??8??9?10???????8??9?10?11?12?13?14???????6??7??8??9?10?11?12
11?12?13?14?15?16?17??????15?16?17?18?19?20?21??????13?14?15?16?17?18?19
18?19?20?21?22?23?24??????22?23?24?25?26?27?28??????20?21?22?23?24?25?26
25?26?27?28?29?30?31??????29?30?????????????????????27?28?29?30?31
?????June?2021
Mo?Tu?We?Th?Fr?Sa?Su
????1??2??3??4??5??6
?7??8??9?10?11?12?13
14?15?16?17?18?19?20
21?22?23?24?25?26?27
28?29?30
?????1??2??3??4??5
?6
S
Process?finished?with?exit?code?0
from?calendar?import?TextCalendar
t?=?TextCalendar()
print(t.formatweekheader(2))
print(t.formatmonthname(2021,?2,?2))
#?运行结果
Mo?Tu?We?Th?Fr?Sa?Su
February?2021
Process?finished?with?exit?code?0
除了上述那两个类,还有一个HTMLCalendar 类(可以使用这个类生成 HTML 日历),这里就不再多叙述了,可查看python 官方文档详细了解。
简单文本日历使用方法
import?calendar?as?c
#???设置每一周的开始(0?表示星期一,6?表示星期天)
c.setfirstweekday(c.SUNDAY)
#???返回当前设置的每星期的第一天的数值。
print(c.firstweekday())
print("-"?*?20)
#???如果?year?是闰年则返回?True?,否则返回?False。
print(c.isleap(2021))
print("-"?*?20)
#???返回在范围?y1?至?y2?(包含?y1?和?y2?)之间的闰年的年数,其中?y1?和?y2?是年份。
print(c.leapdays(2021,?2029))
print("-"?*?20)
#???返回某年(?1970?--?...),某月(?1?--?12?),某日(?1?--?31?)是星期几(?0?是星期一)。
print(c.weekday(2021,?2,?2))
print("-"?*?20)
#???返回一个包含星期几的缩写名的头。?n?指定星期几缩写的字符宽度。
print(c.weekheader(2))
print("-"?*?20)
#???返回指定?年份?的指定?月份?的第一天是星期几和这个月的天数。
print(c.monthrange(2021,?3))
print("-"?*?20)
#???返回表示一个月的日历的矩阵。?每一行代表一周;此月份外的日子由零表示。?每周从周一开始,除非使用?setfirstweekday()?改变设置。
print(c.monthcalendar(2021,?3))
print("-"?*?20)
#???打印由?month()?返回的一个月的日历。
print(c.prmonth(2021,?3))
print("-"?*?20)
#???使用?TextCalendar?类的?formatmonth()?以多行字符串形式返回月份日历。
print(c.month(2021,?3))
print("-"?*?20)
#???打印由?calendar()?返回的整年的日历。
print(c.prcal(2021))
print("-"?*?20)
#???使用?TextCalendar?类的?formatyear()?返回整年的3列的日历以多行字符串的形式。
print(c.calendar(2021))
print("-"?*?20)
#?运行结果
6
--------------------
False
--------------------
2
--------------------
1
--------------------
Su?Mo?Tu?We?Th?Fr?Sa
--------------------
(0,?31)
--------------------
[[0,?1,?2,?3,?4,?5,?6],?[7,?8,?9,?10,?11,?12,?13],?[14,?15,?16,?17,?18,?19,?20],?[21,?22,?23,?24,?25,?26,?27],?[28,?29,?30,?31,?0,?0,?0]]
--------------------
?????March?2021
Su?Mo?Tu?We?Th?Fr?Sa
????1??2??3??4??5??6
?7??8??9?10?11?12?13
14?15?16?17?18?19?20
21?22?23?24?25?26?27
28?29?30?31
None
--------------------
?????March?2021
Su?Mo?Tu?We?Th?Fr?Sa
????1??2??3??4??5??6
?7??8??9?10?11?12?13
14?15?16?17?18?19?20
21?22?23?24?25?26?27
28?29?30?31
--------------------
??????????????????????????????????2021
??????January???????????????????February???????????????????March
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
????????????????1??2??????????1??2??3??4??5??6??????????1??2??3??4??5??6
?3??4??5??6??7??8??9???????7??8??9?10?11?12?13???????7??8??9?10?11?12?13
10?11?12?13?14?15?16??????14?15?16?17?18?19?20??????14?15?16?17?18?19?20
17?18?19?20?21?22?23??????21?22?23?24?25?26?27??????21?22?23?24?25?26?27
24?25?26?27?28?29?30??????28????????????????????????28?29?30?31
31
???????April??????????????????????May???????????????????????June
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
?????????????1??2??3?????????????????????????1?????????????1??2??3??4??5
?4??5??6??7??8??9?10???????2??3??4??5??6??7??8???????6??7??8??9?10?11?12
11?12?13?14?15?16?17???????9?10?11?12?13?14?15??????13?14?15?16?17?18?19
18?19?20?21?22?23?24??????16?17?18?19?20?21?22??????20?21?22?23?24?25?26
25?26?27?28?29?30?????????23?24?25?26?27?28?29??????27?28?29?30
??????????????????????????30?31
????????July?????????????????????August??????????????????September
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
?????????????1??2??3???????1??2??3??4??5??6??7????????????????1??2??3??4
?4??5??6??7??8??9?10???????8??9?10?11?12?13?14???????5??6??7??8??9?10?11
11?12?13?14?15?16?17??????15?16?17?18?19?20?21??????12?13?14?15?16?17?18
18?19?20?21?22?23?24??????22?23?24?25?26?27?28??????19?20?21?22?23?24?25
25?26?27?28?29?30?31??????29?30?31??????????????????26?27?28?29?30
??????October???????????????????November??????????????????December
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
????????????????1??2??????????1??2??3??4??5??6????????????????1??2??3??4
?3??4??5??6??7??8??9???????7??8??9?10?11?12?13???????5??6??7??8??9?10?11
10?11?12?13?14?15?16??????14?15?16?17?18?19?20??????12?13?14?15?16?17?18
17?18?19?20?21?22?23??????21?22?23?24?25?26?27??????19?20?21?22?23?24?25
24?25?26?27?28?29?30??????28?29?30??????????????????26?27?28?29?30?31
31
None
--------------------
??????????????????????????????????2021
??????January???????????????????February???????????????????March
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
????????????????1??2??????????1??2??3??4??5??6??????????1??2??3??4??5??6
?3??4??5??6??7??8??9???????7??8??9?10?11?12?13???????7??8??9?10?11?12?13
10?11?12?13?14?15?16??????14?15?16?17?18?19?20??????14?15?16?17?18?19?20
17?18?19?20?21?22?23??????21?22?23?24?25?26?27??????21?22?23?24?25?26?27
24?25?26?27?28?29?30??????28????????????????????????28?29?30?31
31
???????April??????????????????????May???????????????????????June
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
?????????????1??2??3?????????????????????????1?????????????1??2??3??4??5
?4??5??6??7??8??9?10???????2??3??4??5??6??7??8???????6??7??8??9?10?11?12
11?12?13?14?15?16?17???????9?10?11?12?13?14?15??????13?14?15?16?17?18?19
18?19?20?21?22?23?24??????16?17?18?19?20?21?22??????20?21?22?23?24?25?26
25?26?27?28?29?30?????????23?24?25?26?27?28?29??????27?28?29?30
??????????????????????????30?31
????????July?????????????????????August??????????????????September
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
?????????????1??2??3???????1??2??3??4??5??6??7????????????????1??2??3??4
?4??5??6??7??8??9?10???????8??9?10?11?12?13?14???????5??6??7??8??9?10?11
11?12?13?14?15?16?17??????15?16?17?18?19?20?21??????12?13?14?15?16?17?18
18?19?20?21?22?23?24??????22?23?24?25?26?27?28??????19?20?21?22?23?24?25
25?26?27?28?29?30?31??????29?30?31??????????????????26?27?28?29?30
??????October???????????????????November??????????????????December
Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa??????Su?Mo?Tu?We?Th?Fr?Sa
????????????????1??2??????????1??2??3??4??5??6????????????????1??2??3??4
?3??4??5??6??7??8??9???????7??8??9?10?11?12?13???????5??6??7??8??9?10?11
10?11?12?13?14?15?16??????14?15?16?17?18?19?20??????12?13?14?15?16?17?18
17?18?19?20?21?22?23??????21?22?23?24?25?26?27??????19?20?21?22?23?24?25
24?25?26?27?28?29?30??????28?29?30??????????????????26?27?28?29?30?31
31
--------------------
Process?finished?with?exit?code?0
以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的点赞和分享哟,谢谢!
未完,待续…
一直都在努力,希望您也是!
|