python处理时间相关的方法
记录python处理时间的模块:time模块、datetime模块和calendar模块。
python版本:2.7
https://blog.csdn.net/songfreeman/article/details/50564504
在介绍模块之前,先说下以下几点:
1.时间通常有这几种表示方式:
a.时间戳:通常是从1970年1月1日00:00:00开始按秒计算的偏移量,如:1488520142.802
b.格式化的时间字符串:按指定的格式化字符来输出字符串形式的时间,如指定格式化字符为:'%Y-%m-%d %H:%M:%S',得到的时间字符串为:2017-03-03 13:51:34。格式化字符见图1.
c.以元组的形式表示,共9个元素。具体的元素见图2.
2.通用协调时UTC(Universal Time Coordinated)与格林尼治平均时GMT(Greenwich Mean Time)一样,都与英国伦敦的本地时间相同,是世界标准时间。中国为UTC+8

一、time模块
主要包含的函数:
time() —— 返回当前时间戳,浮点数形式,不接受参数。
gmtime() —— 将时间戳转换为UTC时间,元组形式,接受一个浮点型时间戳参数,默认值为当前时间戳。
localtime() —— 将时间戳转换为本地时间,元组形式,接受一个浮点型时间戳参数,默认值为当前时间戳。
ctime() —— 将时间戳转换为指定的字符串形式,接受一个浮点型时间戳参数,默认值为当前时间戳。
actime() —— 将时间元组格式转换为指定字符串形式,接受一个元组参数,默认值为localtime()返回值。
mktime() —— 将本地时间元组转换为时间戳,接受一个元组参数,必选。
strftime() —— 将时间元组以指定的格式转换为字符串形式,接受格式化字符串、时间元组,时间元组参数可选,默认为localtime()。
strptime() —— 将指定格式的时间字符串解析为时间元组,接受格式化字符串、字符串形式的时间,两个参数均为必选。
sleep() —— 延迟指定时间,接受整型、浮点型,单位为秒。
clock() —— 在Unix系统上,返回进程时间,用秒表示的时间戳;在Windows系统上,第一次调用返回的是进程运行的实际时间,第二次之后的调用,是自第一次调用以后到现在的运行时间。
tzset() —— 改变本地时区。(经测试该函数报错:该模块未包含该方法。具体原因尚未细究。)
(该图摘自网络,原图作者已无处可查)
常用的:
得到当前时间的格式化字符串:

将格式化字符串转换为时间戳:

二、datetime模块
除了用于获取时间,该模块对于时间的比较操作非常方便。直接上图上代码。
datetime.date.today()

datetime.datetime.now()

三、calendar模块
- import calendar
- c = calendar.TextCalendar(calendar.SUNDAY)
- c.prmonth(2016, 1)
- January 2016
- Su Mo Tu We Th Fr Sa
- 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
函数及描述
1. calendar.calendar(year, w=2, l=1, c=6, m=3)
返回一个多行字符串格式的year年年历。
2. calendar.firstweekday()
返回当前每周起始日期的设置。默认返回0,即星期一。
3. calendar.isleap(year)
闰年返回True,否则False。
4. calendar.leapdays(y1, y2)
返回y1到y2之间的闰年总数,包含y1,不包含y2。
5. calendar.month(year, month, w=2, l=1)
返回一个多行字符串格式的year年month月日历。
6. calendar.monthcalendar(year,month)
返回一个整数的单层嵌套列表。每个子列表装载一个星期。该月之外的日期都为0,该月之内的日期设为该日的日期,从1开始。
7. calendar.monthrange(year, month)
返回两个整数组成的元组,第一个是该月的第一天是星期几,第二个是该月的天数。(calendar.monthrange(year, month):
Returns weekday of first day of the month and number of days in month, for the specified year and month.——Python文档)
ps:此处计算星期几是按照星期一为0计算。
8. calendar.prcal(year, w=2, l=1, c=6)
等于print calendar.calendar(year)
9. calendar.prmonth(year, month)
同上。
10. calendar.setfirstweekday(weekday)
设置每周起始日期码。0(星期一)到6(星期日)
11. calendar.timegm(tupletime)
和time.gmtime相反,接收一个时间元组,返回该时刻的时间戳(计算机元年之后的秒数)
12. calendar.weekday(year, month, day)
返回给定日期的星期码,0(星期一)到6(星期日)。
python处理时间相关的方法的更多相关文章
- python处理时间相关的方法(汇总)
记录python处理时间的模块:time模块.datetime模块和calendar模块. python版本:2.7 在介绍模块之前,先说下以下几点: 1.时间通常有这几种表示方式: a.时间戳:通常 ...
- python 类属性与方法
Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...
- Python执行系统命令的方法 os.system(),os.popen(),commands
os.popen():用python执行shell的命令,并且返回了结果,括号中是写shell命令 Python执行系统命令的方法: https://my.oschina.net/renwofei42 ...
- python 调用 shell 命令方法
python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等 ...
- python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异
1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html 1.__init__() 创建对 ...
- python 字典内置方法get应用
python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...
- [转] python程序的调试方法
qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python de ...
- Python prettytable的使用方法
Python prettytable的使用方法 prettytable可以整齐地输出一个表格信息: +-----------+------+------------+----------------- ...
- Python多线程及其使用方法
[Python之旅]第六篇(三):Python多线程及其使用方法 python 多线程 多线程使用方法 GIL 摘要: 1.Python中的多线程 执行一个程序,即在操作系统中开启了一个进 ...
随机推荐
- 栈类Stack
Stack类是Vector类的子类.它向用户提供了堆栈这种高级的数据结构.栈的基本特性就是先进后出.即先放入栈中的元素将后被推出.Stack类中提供了相应方法完成栈的有关操作. 基本方法: publi ...
- ISP图像调试工程师
汉邦高科 任职要求: 1. 电子工程.图像与信号处理.计算机等相关专业,本科及以上学历: 2. 在数字图像处理.视频压缩等方面具有扎实的理论背景知识: 3. 熟悉Sony.Panasonic.Apti ...
- Revit 2017 编程须要用Visual Studio2015 +.NET Framework 4.52
一年一度的Revit产品公布时刻,我们抢先想各位介绍下Revit 2017的变化和新功能 Major changes and renovations to the Revit API API chan ...
- Anaconda2+Theano 安装过程中的所有的坑。。。
写在前面的废话 上次搞theano安装还是一年多以前..anaconda才出到1.4,当时的AnacondaCE,直接安装完基本上theano啥的都一套成功.. 今天换了个电脑,重装anaconda, ...
- ubuntu14.04安装vmware workstation
0) Do the basic system installation of Ubuntu 14.04 LTS (Server or Desktop) 1) wget the installer wg ...
- Origin8.0使用心得(不定时更新)
如何画双Y轴坐标? 网上的教程很多,有点鱼龙混杂的感觉,今天整理一下最简单的方法,备忘. 有3组数据,1组自变量,2组因变量.如何在同一张图下使用同一个X轴,但左边的Y轴与右边的Y轴的刻度不一样? 最 ...
- knowledgeroot 的配置与优化
首先下载 KnowledgeRoot 的安装包,就是一个压缩文件,解压缩后放到 WebRoot 下面 在浏览器中打开网站,自动提示进行安装,安装的过程很简单,安装结束后即可以使用. 安装包创建的数据库 ...
- 用vector构造自动扩容的二维数组
#include <iostream> #include <string> #include <vector> using namespace std; int m ...
- Remoting在多IP多网卡内外网环境下的问题
Remoting服务器端如果服务器有多块网卡,多个IP地址的情况下会出现客户端callback失败的问题,debug以后发现客户端会callback到服务器端另外一个IP地址(例如外网地址,而不是内网 ...
- 如何修改Myeclipse的JSP模板
先找到MyEclipse的安装目录, 再找到myeclipse/eclipse/plugins/com.genuitec.eclipse.wizards_5.1.0/templates/jsp (co ...