python基础语法19-calendar模块

news2024/10/5 12:58:30

一、简介
有了time及datetime模块,再结合日历(Calendar)模块就可以更好的覆盖到时间处理的各个方面的应用。日历模块主要是用于处理日历及星期相关操作。
calendar模块的内置函数如下:
序号           函数及描述
1    calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的 year 年年历,3 个月一行,间隔距离为 c。 每日宽度间隔为w字符。每行长度为 21* W+18+2* C。l 是每星期行数。
2    calendar.firstweekday( ) 返回当前每周起始日期的设置。默认情况下,首次载入 calendar 模块时返回 0,即星期一。
3    calendar.isleap(year) 是闰年返回 True,否则为 False。
4    calendar.leapdays(y1,y2) 返回在Y1,Y2两年之间的闰年总数。
5    calendar.month(year,month,w=2,l=1)  返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
6    calendar.monthcalendar(year,month)  返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。
7    calendar.monthrange(year,month)  返回两个整数。第一个是该月的星期几,第二个是该月有几天。星期几是从0(星期一)到 6(星期日)。
8    calendar.prcal(year, w=0, l=0, c=6, m=3)  相当于 print(calendar.calendar(year, w=0, l=0, c=6, m=3))。
9    calendar.prmonth(theyear, themonth, w=0, l=0)  相当于 print(calendar.month(theyear, themonth, w=0, l=0))。
10    calendar.setfirstweekday(weekday)  设置每周的起始日期码。0(星期一)到6(星期日)。
11    calendar.timegm(tupletime)  和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间戳(1970纪元后经过的浮点秒数)。
12    calendar.weekday(year,month,day)  返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。
二、calendar模块使用示例
import calendar,time
1.返回一个年历,3个月为1行,每日宽度间隔为2个字符,每行间隔距离为1,4是每星期行数
 print(calendar.calendar(2022,2,1,4))
 结果为:

2.calendar.firstweekday()
 print(calendar.firstweekday())#结果为0
3.calendar.isleap(year)判断是否闰年
 print(calendar.isleap(2022))#结果为False
4.calendar.leapdays(y1,y2)返回y1到y2年份之间闰年总数
 print(calendar.leapdays(2000, 2022))#结果为6
5.calendar.month(year,month,w,l)返回year年month月日历 w为每日间隔宽度,l为每星期的行数
print(calendar.month(2022,12,2,1))
结果为:
   December 2022
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 31
6.calendar.monthcalendar(year,month) 返回单层嵌套列表
print(calendar.monthcalendar(2022,12))
结果为:
[[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]]
7.calendar.monthrange(year,month) 返回两个整数
 print(calendar.monthrange(2022, 12))#结果为(3, 31)
8.calendar.prcal(year, w=0, l=0, c=6, m=3) 自带打印输入日历
print(calendar.prcal(2022,2,1,4))
结果为:

9.calendar.prmonth(theyear, themonth, w=0, l=0)
print(calendar.prmonth(2022,3))
 结果为:
 March 2022
 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 31
 None
10.calendar.setfirstweekday(weekday)
calendar.setfirstweekday(1)
c1 = calendar.firstweekday()
print(c1)#结果为1
11.calendar.timegm(tupletime)
print(calendar.timegm((2022,12,23,9,25,33,4,357,0)))#结果为1671787533
12.calendar.weekday(year,month,day)
print(calendar.weekday(2022, 12, 23))#结果为4

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Keras深度学习实战(42)——强化学习基础

Keras深度学习实战(42)——强化学习基础0. 前言1. 强化学习基础1.1 基本概念1.2 马尔科夫决策过程1.3 目标函数2. 在具有非负奖励的模拟游戏中获取最佳动作2.1 问题设定2.2 模型分析2.3 模型构建与训练3. 在模拟游戏中获取最佳动作3.1 问题定义3.2 模型分…

数据库原理及MySQL应用 | 数据表操作

数据表操作是数据库操作中最基本和最重要的操作。 图5-1是图书销售数据库booksale中存放的图书表books。 ■ 图5-1图书表books 01. 表的结构 表的结构也称为“型”(Type),用于描述存储于表中的数据的逻辑结构和属性。定义表就是指定义表的结构,使用数据…

Vue CLI系列之生成打包报告

文章の目录一、通过命令行参数的形式生成报告二、通过可视化的UI面板直接查看报告写在最后打包时,为了直观地发现项目中存在的问题,可以在打包时生成报告。生成报告的方式有两种: 一、通过命令行参数的形式生成报告 "scripts": {…

关于对计算机发展史、冯诺依曼体系、CPU基本工作流程以及关于编程语言的简单认识

关于计算机发展史: 关于计算机发展史,大体经历了从一般计算工具到机械计算机到目前的电子计算机的发展历程。 公元前2500年,算盘已经出现; 1694 年,德国博物学家 戈特弗里德莱布尼兹建造了“步进计算器”。 关于步进…

Djiango实现用户管理增删改成功能实战

1.0定义 前后端不分离模式 前后端分离是指前端页面看到的效果都是由后端控制,即后端渲染HTML页面,前端与后端的耦合度比较高 前后端分离模式 后端仅返回前端所需要的数据,不在渲染HTML页面,不在控制前端的效果,至…

八、kubernetes1.25应用升级、回滚

1、概述 用户希望应用程序始终可用,而开发人员则需要每天多次部署它们的新版本。在 Kubernetes 中,这些是通过滚动更新(Rolling Updates)完成的。 滚动更新 允许通过使用新的实例逐步更新 Pod 实例,零停机进行 Deploym…

Sentinel流控

Sentinel 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 1.sentinel特性 Sentinel 具有以下特征: 丰富的应用场景: Sentinel 承接了…

最优化方法——最小二乘法与梯度下降法

目录 系列文章目录 一、问题 二、实验思路综述 1.实验工具及算法 2.实验数据 3.实验目标 4.实验步骤 三、最小二乘问题引入 1.最小二乘问题样例 2.最小二乘问题解决方案及数学模型化 3.相关线性代数知识导入 3.1 梯度 3.2 矩阵的逆 3.3 QR分解 四、最小二乘法 …

用 ChatGPT 运行 Python

最近,我一直在阅读一些关于ChatGPT的有趣文章。在一篇文章中,有人发明了一种新的语言,并让ChatGPT运行它。在另一篇文章中,有人在ChatGPT中运行一个虚拟机。后者启发我提出了下面这个问题。你能在ChatGPT中运行一个交互式Python会…

【docker常用命令】

一、帮助启动类命令 (1)启动docker systemctl start docker(2)停止docker systemctl stop docker(3)重启docker systemctl restart docker(4)查看docker状态 systemctl status…

【数据预处理】基于Pandas的数据预处理技术【california_housing加州房价数据集】_后9个任务

文章目录一.需求分析二.需求解决2.1 对第一个特征(收入中位数)排序后画散点图2.2 对第一个特征(收入中位数)画分位数图并分析2.3 【选做】对所有特征画分位数图并进行分析2.4 使用线性回归方法拟合第一个特征(收入中位…

基于c# asp.net电子病历管理系统的设计与实现

摘 要 网络的广泛应用给生活带来了十分的便利。所以把电子病历管理与现在网络相结合,利用net语言建设电子病历管理系统,实现电子病历管理的信息化。则对于进一步提高医院的发展,丰富电子病历管理经验能起到不少的促进作用。 电子病历管理系统…

AbstractQueueSynchronizer

AbstractQueueSynchronizer AbstractQueueSynchronizer 是基于 FIFO线程等待队列 的一个同步器开发框架。 这篇文章首先介绍同步器概念,然后介绍AQS的结构原理 什么是Synchronizer(同步器) 并发环境下,Synchronizer用于实现线…

Windows和Mac系统实现本地部署WebPageTest工具

在项目开发或者测试的过程中,由于没有上线,我们在公网上无法访问我们的网站,但同时我们又需要查看浏览器性能,这样我们就需要在本地部署WebPageTest工具以协助进行性能测试 具体实现步骤: Windows系统: …

FFT求多项式乘积

之前在b站上看到了一些介绍FFT的视频 《快速傅里叶变换(FFT)——有史以来最巧妙的算法?》 《这个算法改变了世界》 于是打算写一篇记录一下qwq(本博客中的截图基本上来源于第一个视频) Fast Fourier Transform 是一种能在O(nlogn)O(nlogn)…

企业营销数字化转型:如何转型、如何选品、如何用好?

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年11月份热门报告盘点2023年,如何科学制定年度规划?《底层逻辑》高清配图清华大学256页PPT元宇宙研究报告.pdf(附下载链接)…

【LeetCode】1759. 统计同构子字符串的数目

统计同构子字符串的数目 题目描述 给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 7 取余 后的结果。 同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串…

自定义报表-FineReport JS实现隐藏Tab页

1. 概述 1.1 问题描述 在实际项目中,使用决策报表的时候,有时会用到在决策报表参数面板获取报表控件的值,那么该如何实现呢? 1.2 实现思路 使用 JS 获取报表主体的控件值: _g().getWidgetByName("area").…

【金猿人物展】数睿数据创始人兼CEO穆鸿:大数据价值创造关键在于应用普惠...

‍穆鸿本文由数睿数据创始人兼CEO穆鸿撰写并投递参与“数据猿年度金猿策划活动——2022大数据产业趋势人物榜单及奖项”评选。‍数据智能产业创新服务媒体——聚焦数智 改变商业事情还得从我2022年这一年经历的一些事情谈起,由于工作的原因,我要经常往返…

Python量化交易04——基于机器学习的交易策略

参考书目:深入浅出Python量化交易实战 学量化肯定要用的上机器学习这种强大的预测技术。本次使用机器学习构建一些简单的预测进行量化交易,使用Python进行回测。 获取数据 import pandas as pd import tushare as ts import numpy as npfrom sklearn.neighbors imp…