python常用模块——time模块
参考博客:http://blog.csdn.net/SeeTheWorld518/article/details/48314501
http://www.jb51.net/article/49325.htm
| 函数 | 功能 |
| time.time() | 获取时间戳 |
| time.localtime() | 获取时间元祖和将时间戳转换为时间元祖 |
| time.gmtime() | 获取时间元祖和将时间戳转换为时间元祖 |
| time.mktime | 将时间元祖转换为时间戳 |
| time.strftime() | 获取格式化时间和将时间元祖转化为格式化时间 |
| time.sttptime() | 将格式化时间转化为时间元祖 |
| time.asctime() | 将时间元祖转化为固定格式 |
| time.ctime() | 将时间戳转化为固定格式 |
| time.sleep() | 休息 |
| time.clock() |

在我们平常的代码中,经常需要和时间打交道。
在python中,与时间处理相关的模块有:time、da'tetime以及calendar。
学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来判断程序中那一块耗时最多,从而找到程序调优的重心。
下面将使用最广的time模块,其他模块后续有机会陆续讲解。
首先有几点需要说明:
(1)在python中,通常有这几种方式表示时间:时间戳、格式化的时间字符串以及时间元祖(struct_time共九种元素)。
(2)时间戳(timestamp):时间戳表示是从1970年1月1号00:00:00开始按秒计算到现在的偏移量。
(3)时间元祖:时间元祖共有九个元素,返回时间元祖的函数主要有gmtime()、localtime()、strptime()。
一、表示时间的三种方式
1.时间戳
>>> import time
>>> time.time()
1510666111.4657724 #距离1970年1月1日0点的秒数
2.格式化时间
>>> time.strftime("%Y-%m-%d %H:%M:%S")
'2017-11-14 21:29:32'
| %Y | 完整的年份(4个数字) |
| %m | 月份(1-12) |
| %d | 一个月中的第几天(1-31) |
| %H | 一天中的第几个小时(0-23) |
| %M | 分钟数(0-59) |
| %S | 秒(0-59) |
| %c | 标准的日期的时间串,例:'Wed Nov 15 00:43:54 2017' |
| %C | 年份的后两位数字 |
| %D | 月/天/年,例:'11/15/17' |
| %H | 24小时制 |
| %I | 12小时制 |
| %F | 年/月/日,例:'2017-11-15' |
| %T | 显示时分秒,例:'00:50:00' |
| %x | 标准的日期串,例:'11/15/17' |
| %X | 标准的时间串,例:'00:50:55' |
| %a | 星期几的简写,例:'Wed' |
| %A | 星期几的全称,例:'Wednesday' |
| %b | 月份的简写,例:'Nov' |
| %B | 月份的全称,例:'November' |
| %V | 每年的第几周 |
| %u | 每周的第几天 |
| %U | 第*年的第几周 |
3.时间元祖
>>> time.localtime() #本地时间
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=21, tm_min=29, tm_sec=46, tm_wday=1, tm_yday=318, tm_isdst=0) >>> time.gmtime() #标准时间,相对伦敦提前8小时
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=13, tm_min=30, tm_sec=30, tm_wday=1, tm_yday=318, tm_isdst=0)
我们称之为时间元祖,虽然不是元祖,但类似元祖。
#可以按照索引来取值
>>> time_tuple[0]
2017
>>> time_tuple[1]
11
| tm_year | 年 |
| tm_mon | 月(1-12) |
| tm_mday | 日(1-31) |
| tm_hour | 时(0-23) |
| tim_min | 分(1-59) |
| tm_sec | 秒(0-59) |
| tm_wday | 星期几(0-6,0表示周日) |
| tm_yday | 一年中的第几天(1-365) |
| tm_isdst |
是否是夏令时(默认-1) |
二、time模块中常用的函数
在使用该模块中的函数的时候,必须先引入该模块(import time)
1.time.time():返回当前时间时间戳。
>>> time.time()
1510671831.6499062
2.time.localtime():功能有两个:(1)返回当前的时间元祖;(2)将一个时间戳转化为时间元祖。
当没有传参数的时候默认调用time.localtime()
>>> time.localtime() #获取本地时间元祖
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=5, tm_sec=4, tm_wday=1, tm_yday=318, tm_isdst=0) >>> time.localtime(time.time())#将时间戳转化为时间元祖
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=7, tm_sec=28, tm_wday=1, tm_yday=318, tm_isdst=0)
3.time.gmtime():与time.localtime()功能一样,返回当前时间元祖和将一个时间戳转化为时间元祖。
>>> time.gmtime() #获得时间元祖
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=15, tm_min=9, tm_sec=12, tm_wday=1, tm_yday=318, tm_isdst=0) >>> time.gmtime(time.time()) #将时间戳转化为时间元祖
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=15, tm_min=9, tm_sec=18, tm_wday=1, tm_yday=318, tm_isdst=0)
4.time.mktime():将一个时间元祖转换为时间戳。
>>> time_tuple = time.localtime()
>>> time.mktime(time_tuple)
1510672372.0
5.time.strptime():将一个格式化的时间字符串转化为时间元祖。
>>> time.strptime('2017-11-14 16:23:33',"%Y-%m-%d %M:%H:%S")
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=16, tm_sec=33, tm_wday=1, tm_yday=318, tm_isdst=-1)
6.time.strftime():功能有两个:(1)获取格式化的时间字符串;(2)将时间元祖转化为格式化时间。
#获取格式化时间
>>> time.strftime("%Y-%m-%d %M:%H:%S")
'2017-11-14 16:23:33' #将时间元祖转化为格式化时间
>>> time_tuple
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=12, tm_sec=52, tm_wday=1, tm_yday=318, tm_isdst=0)
>>> time.strftime('%Y-%m-%d %M:%H:%S',time_tuple) #时间格式在前
'2017-11-14 12:23:52'
7.time.asctime():将一个表示时间的元祖或者struct_time表示为'Tue Nov 14 23:12:52 2017'这种形式,如果没有传参数,默认以time.localtime()作为参数。
#将时间元祖表示成固定的形式
>>> time_tuple
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=14, tm_hour=23, tm_min=12, tm_sec=52, tm_wday=1, tm_yday=318, tm_isdst=0)
>>> time.asctime(time_tuple)
'Tue Nov 14 23:12:52 2017'
#如果没有指定参数,默认以time.localtime()作为参数
>>> time.asctime()
'Tue Nov 14 23:27:59 2017'
8.time.ctime():将一个时间戳转换为'Tue Nov 14 23:32:58 2017'这种形式,如果没有指定参数,默认以time.local()作为参数
#转换时间戳
>>> time.ctime(1000000000)
'Sun Sep 9 09:46:40 2001'
#默认情况
>>> time.ctime()
'Tue Nov 14 23:32:58 2017'
9.time.sleep():线程推迟指定的时间运行。默认单位为秒。
>>> time.sleep(10)
10.time.clock()
python常用模块——time模块的更多相关文章
- Python常用内建模块
Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...
- python常用内建模块 collections,bs64,struct,hashlib,itertools,contextlib,xml
# 2 collections 是Python内建的一个集合模块,提供了许多有用的集合类. # 2.1 namedtuple #tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: p ...
- Python 常用内建模块(time ,datetime)
1,在Python中,与时间处理有关的模块就包括:time,datetime以及calendar. 2,在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(st ...
- python常用命令—查看模块所在位置
环境:ipython3 交互式解释器 语法: import 模块名 模块名.__file__ 功能: 查看模块的所在位置 例:
- python常用函数及模块
原文来源于博客园和CSDN 1.计算函数 abs()--取绝对值 max()--取序列最大值,包括列表.元组 min()--取序列最小值 len()--取长度 divmod(a,b)---取a//b除 ...
- Python 常用内建模块(os, sys,random)
一.os 模块 1,操作系统与环境变量 import osprint(os.name) #操作系统类型,如果是posix 说明系统是linux unix 或 mac os x :如果是nt 就是win ...
- python常用内建模块——datetime
datetime是python处理日期和时间的标准库. 获取当前日期和时间 >>>from datetime import datetime >>>now = da ...
- collections(python常用内建模块)
文章来源:https://www.liaoxuefeng.com/wiki/897692888725344/973805065315456 collections collections是Python ...
- Python常用内建模块和第三方库
目录 内建模块 1 datetime模块(处理日期和时间的标准库) datetime与timestamp转换 str与datetime转换 datetime时间加减,使用timedelta这个类 转 ...
- python常用内建模块--datetime
datetime模块中的datetime类: 获取当前时间:datetime.now() 当前操作系统时区时间,date.utctime(UTC时间) 转换成时间戳:timestamp() 和具体时区 ...
随机推荐
- DataUml Design 介绍9 - DataUML 1.3版本功能(查询分析器功能等)
DataUML 1.3 (下载)主要更新内容如下: 1.增加查询分析器功能: 2.增加打开历史文件记录功能: 3.修改查询对象功能: 4.增加显示对象长度功能: 5.增加配置显示表字段功能: 6.增加 ...
- openWRT自学---对官方的开发指导文档的解读和理解 记录3:一些常用方法
1.约定 configuration files follow the convention: <name>.conf init files follow the convention: ...
- abp的权限与导航菜单的关系
原来以为各是各的,所以就有了第一个版本.Getallmentus.然后注入了role,当然失败了.获取所有的菜单.一直在思考在什么地方设置菜单是否展示呢? 后面看了源码.才发现自己错了. UserNa ...
- 如何给Eclipse添加一个JDK或JRE
第一: 第二: 第三: 第四:
- ROS导航之地图costmap_2d与bresenham算法
读者可以参读http://wiki.ros.org/costmap_2d costmap_2d: 无论是激光雷达还是如kinect 或xtion pro深度相机作为传感器跑出的2D或3D SLAM ...
- C++11写算法之冒泡排序
冒泡排序很形象,指从数组后面将更小的值慢慢浮到前面去,每遍历一趟使得最小值浮到最前面(指当前位置). 这里有点小技巧,当某一次遍历过程中发现无交换,则说明此时数组已经排序完成,可提前退出. 时间复杂度 ...
- Machine Learning第十周笔记:大规模机器学习
博客已经迁移到Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完毕了Andrew Ng在Cousera上的Machine Learning的第 ...
- 使用jsx语法环境搭建
1.安装nodejs.nodejs安装后会自带npm,可以用 npm -v 进行查看版本.使用 npm install npm -g 更新文档. 2.创建自己项目,在你的项目路径下执行npm init ...
- CGI FastCGI PHP-CGI PHP-FRM
CGI(Common GateWay Interface )通用网关接口,CGI可以让一个客户端,从网页浏览器向执行在Web服务器上的程序请求数据.CGI描述了客户端和这个程序之间传输数据的一种协议标 ...
- CodeIgniter框架——源码分析之入口文件index.php
CodeIgniter框架的入口文件主要是配置开发环境,定义目录常量,加载CI的核心类core/CodeIgniter.php. 在index.php中,CI首先做的事情就是设置PHP的错误报告, ...