Python中的日历模块具有日历类,允许根据日期,月份和年份计算各种任务。最重要的是,Python中的TextCalendar和HTMLCalendar类允许您编辑日历并根据您的要求使用。

让我们看看我们可以用Python日历做些什么。

Step1)运行代码。

python 日历函数 python写日历_python 日历函数

  • 代码行#1:我们从“导入日历”开始,它将导入该模块的所有类。
  • 代码行#3:c = calendar.TextCalendar(calendar.SUNDAY)告诉解释器创建文本日历。本月初将是星期日。在Python中,您可以格式化日历,因为您可以更改当月的日期
  • 代码行#4:str = c.formatmonth(2025,1)我们正在创建2025年,第1个月 - 1月的日历
  • 代码行#5:print str将打印输出。

让我们快速更改星期日到星期四的值并检查输出      更多学习资料,大神解疑  Q群  5199 70686

python 日历函数 python写日历_python_02

步骤2)您还可以打印出HTML格式的日历,如果想要对日历的外观进行任何更改,此功能对开发人员很有帮助

python 日历函数 python写日历_取整_03

步骤3)使用c.itermonthday(2025,4)在一个月内循环,它将获取该月的总天数。

 

python 日历函数 python写日历_取整_04

  • 当您执行代码以获取特定月份的总天数(例如“四月”)时,您将在输出中获得31天,但您也会在开头有时看到一些零,有时在结束时看到。
  • 输出中的零表示星期几是重叠的月份,这意味着它不属于该月份。
  • 这些零出现在输出中,因为在你的代码中你提到了一天(星期四),所以当你调用函数“c.itermonthdays”时,它将从星期四开始计算天数,而你的星期四不需要从4月1 日开始它可能是3月28 日或29 日,所以当你执行代码时,它将开始计算从3月28 日到之后的任何日子,直到4月1 日。这些天将被计为零,在输出中您将看到这些零,并且同样适用于月末。
  • 因此,除了日期1-31之外,上个月和后月的所有日期将在输出中显示为零。

步骤4)您可以从本地系统获取数据,如月或工作日等

python 日历函数 python写日历_取整_05

  • 此处的输出显示我们已从本地系统打印出月份名称。同样,您也可以获取工作日名称,如下所示
  • 输出将取决于本地系统,假设您的本地系统是其他国家/地区,那么它将根据该国家/地区的本地设置提供输出。在这里,我们有几个月,所以它不会有区别,但如果它是一周或一天,它肯定会有所不同。
     

python 日历函数 python写日历_获取数据_06

步骤5)您可以获取整年特定日期的列表。例如,每周的第一个星期一有一个审核日,并想知道一年中每个月的日期,您可以使用此代码

 

python 日历函数 python写日历_取整_07

  • mycal = calendar.monthcalendar(2025,month)将创建该月的日历
  • 将变量week1和week2设置为日历的第一周和第二周
  • 检查第1周是否包含星期一,设置审核日
  • 否则将审核日设置为第2周的第一个星期一
  • 输出显示该月的第一个星期一的日期。
  • 此Cal对象的长度将基于该月的周数来确定一定长度。在我们的情况下,它将是一个或两个,因为本周的第一个星期一将是最常见的第一周,但如果没有,则考虑第二周。让我们详细了解为什么我们也考虑第二周。
  • 这里我们使用日历的常量星期一,日历对象为您提供代表星期日,星期一,星期二等的常量,依此类推。我们以前见过这些。因此,如果在第一周,由星期一常量表示的日期不等于0,请记住零表示属于另一个月的日期。因此,在这种情况下,如果它为零,则它将是属于上个月的星期一。但如果第一个星期一不等于0,那意味着我的审计日将在第一周内。否则,如果它是0,那么第一个星期一不在该月的第一周,它必须在第二个星期。
  • 那么,我说没关系,将我的审计日变量设置为第二周代表的星期一。因此,审核日将以第一周或第二周的任何一天回归。

概要:  

  • 在Python中,您可以按照自己的方式格式化日历,因为您可以更改当月的日期
  • 以HTML格式打印日历
  • 从本地系统获取数据,如月或工作日
  • 获取整年特定日期的列表