这个模块让你可以输出像 Unix cal 那样的日历,它还提供了其它与日历相关的实用函数。 默认情况下,这些日历把星期一当作一周的第一天,星期天为一周的最后一天(按照欧洲惯例)。 可以使用 setfirstweekday()
方法设置一周的第一天为星期天 (6) 或者其它任意一天。 使用整数作为指定日期的参数。
class calendar.Calendar(firstweekday=0)
Calendar 对象提供了一些可被用于准备日历数据格式化的方法。 这个类本身不执行任何格式化操作。 这部分任务应由子类来完成。
Calendar 类的实例有下列方法:
iterweekdays()
返回一个迭代器,迭代器的内容为一星期的数字。迭代器的第一个值与 firstweekday 属性的值一至。
itermonthdates(year, month)
返回一个迭代器,迭代器的内容为 year 年 month 月(1-12)的日期。这个迭代器返回当月的所有日期 ( datetime.date 对象),日期包含了本月头尾用于组成完整一周的日期。
itermonthdays(year, month)
返回一个迭代器,迭代器的内容与 itermonthdates() 类似,为 year 年 month 月的日期,但不受 datetime.date 范围限制。返回的日期为当月每一天的日期对应的天数。对于不在当月的日期,显示为 0。
itermonthdays2(year, month)
返回一个迭代器,迭代器的内容与 itermonthdates() 类似为 year 年 month 月的日期,但不受 datetime.date 范围的限制。迭代器中的元素为一个由日期和代表星期几的数字组成的的元组。
itermonthdays3(year, month)
返回一个迭代器,迭代器的内容与 itermonthdates() 类似为 year 年 month 月的日期,但不受 datetime.date 范围的限制。迭代器的元素为一个由年,月,日组成的元组。
itermonthdays4(year, month)
返回一个迭代器,迭代器的内容与 itermonthdates() 类似为 year 年 month 月的日期,但不受 datetime.date 范围的限制。迭代器的元素为一个由年,月,日和代表星期几的数字组成的元组。
monthdatescalendar
(year, month)
返回一个表示指定年月的周列表。周列表由七个 datetime.date 对象组成。
monthdays2calendar
(year, month)
返回一个表示指定年月的周列表。周列表由七个代表日期的数字和代表周几的数字组成的二元元组。
monthdayscalendar
(year, month)
返回一个表示指定年月的周列表。周列表由七个代表日期的数字组成。
yeardatescalendar
(year, width=3)
返回可以用来格式化的指定年月的数据。返回的值是一个列表,列表是月份组成的行。每一行包含了最多 width 个月(默认为3)。每个月包含了4到6周,每周包含1--7天。每一天使用 datetime.date 对象。
yeardays2calendar
(year, width=3)
返回可以用来模式化的指定年月的数据(与 yeardatescalendar() 类似)。周列表的元素是由表示日期的数字和表示星期几的数字组成的元组。不在这个月的日子为0。
yeardayscalendar
(year, width=3)
返回可以用来模式化的指定年月的数据(与 yeardatescalendar() 类似)。周列表的元素是表示日期的数字。不在这个月的日子为0。