calendar—与 calendar 相关的常规Function

源代码: Lib/calendar.py


该模块允许您输出 Unix cal 程序之类的 calendar,并提供与 calendar 相关的其他有用Function。默认情况下,这些 calendar 将星期一作为一周的第一天,将星期日作为最后一天(欧洲惯例)。使用setfirstweekday()将一周的第一天设置为周日(6)或任何其他工作日。指定日期的参数以整数形式给出。有关相关Function,另请参见datetimetime模块。

此模块中定义的函数和类使用理想化的 calendar,当前的公历在两个方向上无限期扩展。这与 Dershowitz 和 Reingold 的书“ Calendrical Calculations”中“ progresive Gregorian”calendar 的定义匹配,该 calendar 是所有计算的基础 calendar。零年和负年按照 ISO 8601 标准的规定进行解释。 0 年是 1 BC,-1 年是 2 BC,依此类推。

Calendar对象提供了几种可用于准备 calendar 数据以进行格式化的方法。此类本身不进行任何格式化。这是子类的工作。

Calendar个实例具有以下方法:

3.7 版中的新Function。

3.7 版中的新Function。

TextCalendar个实例具有以下方法:

HTMLCalendar个实例具有以下方法:

HTMLCalendar具有以下属性,您可以重写以下属性来自定义 calendar 使用的 CSS 类:

cssclasses = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]

每天可以添加更多样式:

cssclasses = ["mon text-bold", "tue", "wed", "thu", "fri", "sat", "sun red"]

请注意,此列表的长度必须为七个项目。

3.7 版中的新Function。

3.7 版中的新Function。

3.7 版中的新Function。

3.7 版中的新Function。

3.7 版中的新Function。

3.7 版中的新Function。

请注意,尽管上述类属性的命名是单数(例如cssclass_month cssclass_noday),但是可以用空格分隔的 CSS 类列表替换单个 CSS 类,例如:

"text-bold text-red"

这是一个示例HTMLCalendar的自定义方式:

class CustomHTMLCal(calendar.HTMLCalendar):
    cssclasses = [style + " text-nowrap" for style in
                  calendar.HTMLCalendar.cssclasses]
    cssclass_month_head = "text-center month-head"
    cssclass_month = "text-center month"
    cssclass_year = "text-italic lead"

Note

这两个类的formatweekday()formatmonthname()方法将当前语言环境临时更改为给定的* locale *。因为当前语言环境是进程范围的设置,所以它们不是线程安全的。

对于简单的文本 calendar,此模块提供以下Function。

import calendar
calendar.setfirstweekday(calendar.SUNDAY)

此Function适用于跨世纪变化的范围。

calendar模块导出以下数据属性:

See also

  • Module datetime

  • 面向对象的日期和时间接口,其Function类似于time模块。

  • Module time

  • 与时间相关的底层Function。

首页