python编程开发时间序列calendar模块示例详解

目录
  • calendar模块
  • 设置每周第一天-setfirstweekday
    • 1、默认情况:礼拜一是第一天
    • 2、设置任意一天
  • 是否闰年-isleap
  • 年份间的闰年数-leapdays(y1, y2)
  • 星期几-weekday(year, month, day)
  • monthrange(year, month)
  • 月的日历矩阵-monthcalendar(year, month)
  • 月的日历-prmonth(year, month, w, l)
  • 年的日历-calendar.calendar(year)
  • 格式化输出日历

大家好,在之前的文章中详细介绍了time和datetime模块的使用。这两个模块更多的是用于处理时间和日期相关的问题。

本文介绍的是第三个模块calendar,则主要是用于解决日历方面的问题。

中文官网地址:https://docs.python.org/zh-cn/3/library/calendar.html

calendar模块

该模块定义了很多类型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基类,这些类有着十分丰富的日历处理方法。

同时ISO 8601标准还规定了 0 和 负数年份。0年指公元前1年, -1年指公元前2年,依此类推。使用之前先进行导入:

import calendar

首先我们可以看看2021年的完整日历:

设置每周第一天-setfirstweekday

默认情况下:0 表示星期一,6 表示星期天。我们可以通过setfirstweekday()来设置一周的第一天为星期天 (6) 或者其它任意一天

1、默认情况:礼拜一是第一天

2、设置任意一天

下面的例子中我们设置周六作为第一天

是否闰年-isleap

查看一个年份是否是闰年。是则返回True,否则返回False

年份间的闰年数-leapdays(y1, y2)

查看两个年份之间有多少闰年。比如第二个例子中,从2000年开始到2021年共有6个闰年

星期几-weekday(year, month, day)

查看一个具体的日期是星期几。比如第二例子中,11月1号是星期一,用0表示

0:星期1

1:星期2

2:星期3

monthrange(year, month)

返回指定年、月份第一天是星期几和这个月的天数,具体示例如下:

10月份的第一天是星期五,11月份的第一天是星期一(0代表周一)

通过万年历来验证下:11.1刚好是星期一

月的日历矩阵-monthcalendar(year, month)

返回某个月的日历矩阵:

  • 每行代表1个星期
  • 默认从周一开始,比如11月份的1号刚好是周一
  • 此月份外的日子由零表示

月的日历-prmonth(year, month, w, l)

返回的是一个月的日历,每日宽度间隔为 w 字符,l 是每星期的行数

下面是默认的情况:

可以改变参数w和l:相当于是一个控制列宽,一个控制行高

年的日历-calendar.calendar(year)

全部使用默认参数,查看某年的完整日历:

格式化输出日历

在上面输出年的日历的结果中都是采用的默认参数形式。实际上calendar方法是存在多个参数的:

w:每个单元格宽度,默认是2

l:每列换行数,默认是1

c:月和月之间的间隔宽度,默认是6

m:将月份分成m个列

改变多个参数后显示的效果:

以上就是python编程开发时间序列calendar模块示例详解的详细内容,更多关于python时间序列的资料请关注我们其它相关文章!

(0)

相关推荐

  • python+pandas+时间、日期以及时间序列处理方法

    先简单的了解下日期和时间数据类型及工具 python标准库包含于日期(date)和时间(time)数据的数据类型,datetime.time以及calendar模块会被经常用到. datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差. 给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象 from datetime import datetime from datetime import timedel

  • python使用calendar输出指定年份全年日历的方法

    本文实例讲述了python使用calendar输出指定年份全年日历的方法.分享给大家供大家参考.具体实现方法如下: import calendar print "Show a given years monthly calendar" print '' year = int(raw_input("Enter the year")) print '' calendar.prcal(year) print '' 希望本文所述对大家的Python程序设计有所帮助.

  • Python 常用日期处理 -- calendar 与 dateutil 模块的使用

    本文紧承上一篇 Python 常用日期处理,因制于篇幅的大小需求才临时分立新篇,这里要简单提到 calendar 和 dateutil 模块的使用,其中 calendar 是 Python 内置的.相比于上一篇而言,此处主旨会更明确一些,只记录三个应用案例,分别是 用 dateutil 灵活的解析 datetime 字符串 给定起始日期后的连续日期 给定起始日期后连续的月末日期 dateutil 灵活的解析 datetime 字符串 使用 Python 内容的 date 或 datetime,

  • python时间日期函数与利用pandas进行时间序列处理详解

    python标准库包含于日期(date)和时间(time)数据的数据类型,datetime.time以及calendar模块会被经常用到. datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差. 下面我们先简单的了解下python日期和时间数据类型及工具 给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象 from datetime import datetime from datetime impo

  • 如何用Python进行时间序列分解和预测

    预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测的需求不仅存在于各类业务场景当中,而且通常需要对未来几年甚至几分钟之后的时间序列进行预测.如果你正要着手进行时间序列预测,那么本文将带你快速掌握一些必不可少的概念. 目录 什么是时间序列? 如何在Python中绘制时间序列数据? 时间序列的要素是什么? 如何分解时间序列? 经典分解法 如何获得季节性调整值? STL分解法 时间序列预测的基本方法: Python中的简单移动平均(SMA) 为什么使用简单移动平均? Pyth

  • python编程开发时间序列calendar模块示例详解

    目录 calendar模块 设置每周第一天-setfirstweekday 1.默认情况:礼拜一是第一天 2.设置任意一天 是否闰年-isleap 年份间的闰年数-leapdays(y1, y2) 星期几-weekday(year, month, day) monthrange(year, month) 月的日历矩阵-monthcalendar(year, month) 月的日历-prmonth(year, month, w, l) 年的日历-calendar.calendar(year) 格式

  • golang编程开发使用sort排序示例详解

    golang sort package: https://studygolang.com/articles/3360 sort 操作的对象通常是一个 slice,需要满足三个基本的接口,并且能够使用整数来索引 // A type, typically a collection, that satisfies sort.Interface can be // sorted by the routines in this package. The methods require that the /

  • Python代码缩进和测试模块示例详解

    前言 Python代码缩进和测试模块是大家学习python必不可少的一部分,本文主要介绍了关于Python代码缩进和测试模块的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.Python代码缩进 Python 函数没有明显的 begin 和 end ,没有标明函数的开始和结束的花括号.唯一的分隔符是一个冒号 ( : ),接着代码本身是缩进的. 例如:缩进 buil dCon necti onStr ing 函数 def buildConnectionString(

  • 详解Python中生成随机数据的示例详解

    目录 随机性有多随机 加密安全性 PRNG random 模块 数组 numpy.random 相关数据的生成 random模块与NumPy对照表 CSPRNG 尽可能随机 os.urandom() secrets 最佳保存方式 UUID 工程随机性的比较 在日常工作编程中存在着各种随机事件,同样在编程中生成随机数字的时候也是一样,随机有多随机呢?在涉及信息安全的情况下,它是最重要的问题之一.每当在 Python 中生成随机数据.字符串或数字时,最好至少大致了解这些数据是如何生成的. 用于在 P

  • Python编程使用NLTK进行自然语言处理详解

    自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.自然语言工具箱(NLTK,NaturalLanguageToolkit)是一个基于Python语言的类库,它也是当前最为流行的自然语言编程与开发工具.在进行自然语言处理研究和应用时,恰当利用NLTK中提供的函数可以大幅度地提高效率.本文就将通过一些实例来向读者介绍NLTK的使用. NLTK NaturalLanguageToolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库. NLTK是一个开源的项目,包含:P

  • Python+FuzzyWuzzy实现模糊匹配的示例详解

    目录 1. 前言 2. FuzzyWuzzy库介绍 2.1 fuzz模块 2.2 process模块 3. 实战应用 3.1 公司名称字段模糊匹配 3.2 省份字段模糊匹配 4. 全部函数代码 在日常开发工作中,经常会遇到这样的一个问题:要对数据中的某个字段进行匹配,但这个字段有可能会有微小的差异.比如同样是招聘岗位的数据,里面省份一栏有的写“广西”,有的写“广西壮族自治区”,甚至还有写“广西省”……为此不得不增加许多代码来处理这些情况. 今天跟大家分享FuzzyWuzzy一个简单易用的模糊字符

  • Python实现过迷宫小游戏示例详解

    目录 前言 开发工具 环境搭建 原理简介 主要代码 前言 今天为大家带来解闷用的过迷宫小游戏分享给大家好了.让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 游戏规则: 玩家通过↑↓←→键控制主角行动,使主角从出发点(左上角)绕出迷宫,到达终点(右下角)即为游戏胜利. 逐步实现: 首先,当然是创建迷宫啦,为了方便,这里采用随机生成迷

  • Python利用pythonping处理ping的示例详解

    目录 简介 历史攻略 Ping命令可以进行以下操作 安装 案例源码1 案例源码2 简介 ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 .Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态.ping用于确定本地主机是否能与另一台主机成功交换(发

  • Python编程实现粒子群算法(PSO)详解

    1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的.假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道食物距离自己位置).最好的策略就是结合自己的经验在距离鸟群中距离食物最近的区域搜索. 利用粒子群算法解决实际问题本质上就是利用粒子群算法求解函数的最值.因此需要事先把实际问题抽象为一个数学函数,称之为适应度函数.在粒子群算法中,每只鸟都可以看成是问题的一个解,这里我们通常把鸟称之为粒子,每个粒子都拥有: 位置,可

  • Python机器学习从ResNet到DenseNet示例详解

    目录 从ResNet到DenseNet 稠密块体 过渡层 DenseNet模型 训练模型 从ResNet到DenseNet 上图中,左边是ResNet,右边是DenseNet,它们在跨层上的主要区别是:使用相加和使用连结. 最后,将这些展开式结合到多层感知机中,再次减少特征的数量.实现起来非常简单:我们不需要添加术语,而是将它们连接起来.DenseNet这个名字由变量之间的"稠密连接"而得来,最后一层与之前的所有层紧密相连.稠密连接如下图所示: 稠密网络主要由2部分构成:稠密块(den

随机推荐