python calendar标准库基础学习
# -*- coding: utf-8 -*-
# 作者:新手
__author__ = 'Administrator'
#标准库:日期时间基础学习:calendar:处理日期
#例1
import calendar
c=calendar.TextCalendar(calendar.SUNDAY)
c.prmonth(2015,3)
#prmonth()简单函数,生成一个月的格式文件输出
#TextCalendar()从星期天(为第一天,因为老外是从星期天开始算第一天的)
#利用HTMLCalendar和formatmonth()可以生成一个类似html表格,显示的和纯文本版本大致同样
c=calendar.HTMLCalendar(calendar.SUNDAY)
print c.formatday(7,0)
#不过会用html标记包围,各个表单元格有一个类属性对应星期几,所以可能通过css指定html样式
"""
要使用可用默认格式之外的某种格式生成输出,可以使用calendar计算日期,并把这些值 组织为周和月,然后迭代处理结果,对于这样的任务,它有以下几个属性可以使用:
weekheader(),MONTHCALENDAR(),(特别有用的:yeardays2calendar(),它会生成一个由<月栏>列表构成的序列,每个列表包含一个月,每个月是一个周列表,周是元组列表,元组由编号(1~31)和星期几(1~6)构成,当月以外的日编号为0)
"""
import pprint
c=calendar.Calendar(calendar.SUNDAY)
data=c.yeardays2calendar(2015,3)
print 'len(data) :',len(data)
top=data[0]
print'len(top) :',len(top)
mont=top[0]
print 'len(mont) :',len(mont)
print 'mont:'
pprint.pprint(mont)
#这等价于formatyear()方式
c=calendar.TextCalendar(calendar.SUNDAY)
print c.formatyear(2015,3,1,0)
#day_name,day_abbr,month_name,month_abbr模块属性对于生成定制格式输出很有用(如html输出包含的链接),这些属性会针对当前本地化环境正确的地处配置
#计算日期
#计算中某一天的事件
print u'计算日期:\n'
pprint.pprint(calendar.monthcalendar(2015,3))
#有些日期值为0,说明尽管这几天属性另一个月,但与给定的当前月中的几天属于同一个星期
#一周中的第一天默认认为是星期一,可以通过使用setfirstweekday()来改变这个设置,不过由于calenday模块包含了一些常用来索引monthcalendar()返回的日期区间,所以在这片情况下路过这一步会更加方便
#例3
for m in range(1,13):
c=calendar.monthcalendar(2015,m)
first_week=c[0]
second_week=c[1]
third_week=c[2]
if first_week[calendar.THURSDAY]:
data1=second_week[calendar.THURSDAY]
else:
data1=third_week[calendar.THURSDAY]
print '%3s :%2s'%(calendar.month_abbr[m],data1)
#calendar官方标准库地址:https://docs.python.org/2.7/library/calendar.html?highlight=calendar#module-calendar
python calendar标准库基础学习的更多相关文章
- python linecache标准库基础学习
#python标准库基础之:linecacge:高效读取文本文件#说明与作用"""可以从文件或者导入python模块获取文件,维护一个结果缓存,从而可以更高效地从相同文件 ...
- python StringIO标准库基础学习
#标准库:StringIO提供类文件API文本缓冲区#作用:可以处理内存中的文本,有2种不同的实现:cStringIP版本用c编写提高速度,StringIO用python来提供可移植性,与其他字符串连 ...
- python glob标准库基础学习
#glob文件名模式匹配#作用:使用unix shell规则查找与一个模式匹配文件名"""尽管glob api很小,但这个模块很强大,只要程序需要查找文件系统中名字与某种 ...
- python filecmp标准库基础学习
# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#文件的比较import os,filecmp#作用用于比较系统中的目录和文件#例子 ...
- python 标准库基础学习之开发工具部分1学习
#2个标准库模块放一起学习,这样减少占用地方和空间#标准库之compileall字节编译源文件import compileall,re,sys#作用是查找到python文件,并把它们编译成字节码表示, ...
- 【python】标准库的大致认识
正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...
- C 标准库基础 IO 操作总结
其实输入与输出对于不管什么系统的设计都是异常重要的,比如设计 C 接口函数,首先要设计好输入参数.输出参数和返回值,接下来才能开始设计具体的实现过程.C 语言标准库提供的接口功能很有限,不像 Pyth ...
- Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...
- python 使用标准库连接linux实现scp和执行命令
import stat import pexpect 只显示关键代码: sqldb = localpath+database //获取database名字 if os.path.exists(sqld ...
随机推荐
- Collision使用 获取其组件执行变色操作
using UnityEngine; using System.Collections; public class CyCollision : MonoBehaviour { void OnColli ...
- [OGRE]看备注学编程(02):打地鼠01-布置场地九只地鼠
项目下载地址:http://download.csdn.net/detail/wxg694175346/6340347 头文件ShrewMouseApplication.h: #ifndef __Sh ...
- 宙斯是一个完整的Hadoop的作业平台[转]
https://github.com/alibaba/zeus 宙斯(zeus)是什么 宙斯是一个完整的Hadoop的作业平台从Hadoop任务的调试运行到生产任务的周期调度 宙斯支持任务的整个生命周 ...
- Android Fragment详解(二):Fragment创建及其生命周期
Fragments的生命周期 每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件. 对应生命周期可参考下图: 创建片元(Creating a Fragment) To c ...
- linux内存机制
~# free -m total used free shared buffers cachedMem: 16086 8579 7507 0 152 800 ...
- mybatis知识总结
基于昨天的mybatis入门详解,今天我们再来看看mybatis稍微高深些的知识点. 1.解决Model属性和数据库字段不一致的问题 1),开启驼峰命名 2),使用resultMap进行映射, < ...
- Messager( 消息窗口) 组件
一. 加载方式消息窗口提供了不同的消息框风格,包含 alert(警告框).confirm(确认框).prompt(提示框).progress(进度框)等.所有消息框都是异步的,用户可以在交互消息之后使 ...
- Lambda 笔记
lambda表达式,将会带来代码的灵活性,同时使我们的代码更具表现力. Dim doubleIt As Func(Of Integer, Integer) = _ Function(x As Inte ...
- [Oracle] 浅谈Sequence
Oracle的Sequence是一种数据库对象,它可以生成有序数字,主要用于主键的自动生成.如果没有Sequence,主键的自动生成必须得在代码逻辑里实现,大致过程是:获取当前主键值,新主键值=当前主 ...
- 利用try-catch判断变量是已声明未赋值还是未声明
目的是如果一个变量是已声明未赋值,就可以直接赋值,并且不能改变变量的作用域: 如果未声明的话,就重新声明, 在网上搜了下,常见的方法是if(typeof(a)=='undefined'){var a= ...