本节内容

1、简述

2、time模块

3、时间格式转换

一、简述

  我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & datetime

二、time模块

1、time.process_time()

功能:测量处理器的运算时间,但是不包括sleep时间,因为sleep只是把你的程序挂起,不太稳定。

1
2
3
>>> import time
>>> time.process_time()
0.8736056

2、time.altzone()

功能:返回与utc的时间的时间差,以秒计算

1
2
3
4
5
>>> import time
>>> time.altzone
-32400
>>> time.altzone/3600
-9.0 

注:感觉有点不太准确,为什么是-9时呢?无解,先忘记它吧!

3、time.asctime()

功能:返回时间格式:'Thu Mar 30 16:47:39 2017'(星期 月 日  时间   年)

1
2
3
>>> import time
>>> time.asctime()
'Thu Mar 30 16:47:39 2017'   #返回 星期 月 日 时间  年

4、time.localtime()

功能:返回本地时间的struct _time的格式的对象,也可以把时间戳转换成成struct _time的格式的对象

1
2
3
4
5
6
>>> import time
>>> t = time.localtime()  #返回本地时间的对象,通过对象获取对应的年月日等信息
>>> t
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=16, tm_min=52, tm_sec=10, tm_wday=3, tm_yday=89, tm_isdst=0)
>>> t.tm_hour   # 获取小时数
16

5、time.time()

功能:返回当前时间的时间戳(1970年纪元后经过的浮点秒数)

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> import time
#返回当前时间的时间戳
>>> time.time()  
1490864724.061428
#跟localtime()结合起来返回当前时间对象
>>> time.localtime(time.time())  
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=17, tm_min=5, tm_sec=38, tm_wday=3, tm_yday=89, tm_isdst=0)
# 给当前时间加上3个小时,注意了,localtime中只能介绍秒级别的,所以是3600*3表示3个小时
>>> time.localtime(time.time() + 3600*3)
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=20, tm_min=5, tm_sec=53, tm_wday=3, tm_yday=89, tm_isdst=0)
#跟asctime结合起来用 生成当前时间格式
>>> time.asctime( time.localtime( time.time() ) )
'Thu Mar 30 17:06:26 2017'

注:为啥是1970年呢?因为1970年1月1日被当做unix操作系统的诞生元年。

6.time.gmtime()

功能:返回当前utc时间(伦敦时间)

1
2
3
4
5
6
7
>>> import time
>>> time.gmtime()   #返回utc的时间struct time 格式
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=9, tm_min=25, tm_sec=13, tm_wday=3, tm_yday=89, tm_isdst=0)
>>> time.asctime(time.gmtime()) 
'Thu Mar 30 09:26:14 2017'    #伦敦时间
>>> time.asctime(time.localtime())
'Thu Mar 30 17:26:14 2017'    #北京时间,两者正好相差8个小时

注:没啥用处?知道就行。

7、time.strptime()

功能:把时间格式的字符串转成struct_time格式的时间对象

1
2
3
4
>>> import time
>>> time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
#转换为struct_time格式的时间对象
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=30, tm_hour=17, tm_min=30, tm_sec=0, tm_wday=3, tm_yday=89, tm_isdst=-1)

8、time.mktime()

功能:把struct_time时间对象转成时间戳

1
2
3
4
5
6
7
>>> import time
#生成struct_time时间对象
>>> t = time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
#时间对象转成时间戳
>>> t2_stamp = time.mktime(t)
>>> t2_stamp
1490866200.0

9、time.strftime()

功能:struct_time时间对象转换成时间字符串

1
2
3
4
5
6
7
8
9
10
11
>>> import time
#生成struct_time时间对象
>>> t = time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
#把时间对象转换成时间格式的字符串
>>> m = time.strftime("%Y-%m-%d-%H-%M.log",t)
>>> m
'2017-03-30-17-30.log'
#不传入时间对象,默认是当前时间
>>> m = time.strftime("%Y-%m-%d-%H-%M.log")
>>> m
'2017-03-30-17-56.log'

当然,中间如果需要用时间戳转换的话,你还可以这样,代码如下:

1
2
3
4
5
6
7
8
9
10
11
>>> import time
#生成struct_time时间对象
>>> t = time.strptime("2017-03-30 17:30","%Y-%m-%d %H:%M")
#把时间对象转成时间戳
>>> t2_stamp = time.mktime(t)
#再通过localtime函数把时间戳转成struct_time时间对象
>>> t3 = time.localtime(t2_stamp)
#把时间对象转换成时间格式的字符串
>>> m = time.strftime("%Y-%m-%d-%H-%M.log",t)
>>> m
'2017-03-30-17-30.log'

三、时间格式转换

1、转换表格

2、时间格式转换关系图

函数和常用模块【day06】:time模块 (一)的更多相关文章

  1. 函数和常用模块【day06】:shelve模块(五)

    本节内容 1.简述 2.shelve概念 3.shelve模块使用 4.总结 一.简述 之前我们说不管是json也好,还是pickle也好,在python3中只能dump一次和load一次,不能dum ...

  2. python函数和常用模块(三),Day5

    递归 反射 os模块 sys模块 hashlib加密模块 正则表达式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数 ...

  3. python函数和常用模块(二),Day4

    内置函数2 装饰器 字符串格式化 生成器 迭代器 递归 模块 序列化相关 time模块 datetime模块 内置函数2 callable() # 是否可以被执行,是否可以被调用 chr() # as ...

  4. python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  5. python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time & datetime模块

    正则表达式   语法:             mport re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0 ...

  6. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  7. os常用模块,json,pickle,shelve模块,正则表达式(实现运算符分离),logging模块,配置模块,路径叠加,哈希算法

    一.os常用模块 显示当前工作目录 print(os.getcwd()) 返回上一层目录 os.chdir("..") 创建文件包 os.makedirs('python2/bin ...

  8. Python常用内置模块之xml模块

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

  9. python的常用模块之collections模块

    python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块?    常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...

  10. python常用模块-调用系统命令模块(subprocess)

    python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...

随机推荐

  1. 通过实例来理解paxos算法

    背景   Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的”La”,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法.由于算法难以理解起初并没有 ...

  2. Python 学习 第三篇:数组类型(列表、字典和元组)

    列表和字段都可以在原处进行修改,可以按照需求增长或缩短,并且可以包含任何类型的对象或被嵌套.列表和字典存储的是对象的引用,而不是拷贝. 一,列表 列表是有序的序列,每一个列表项的顺序是固定的,这使得列 ...

  3. 利用十字链表压缩稀疏矩阵(c++)-- 数据结构

    题目: 7-1 稀疏矩阵 (30 分)   如果一个矩阵中,0元素占据了矩阵的大部分,那么这个矩阵称为“稀疏矩阵”.对于稀疏矩阵,传统的二维数组存储方式,会使用大量的内存来存储0,从而浪费大量内存.为 ...

  4. Nuxeo 认证绕过和RCE漏洞分析(CVE-2018-16341)

    简介 Nuxeo Platform是一款跨平台开源的企业级内容管理系统(CMS).nuxeo-jsf-ui组件处理facelet模板不当,当访问的facelet模板不存在时,相关的文件名会输出到错误页 ...

  5. git 和 github 链接

    第一步  再电脑上安装git 请自行搜索   到你需要的一个目录下:例如/gittest 首先创建文件,然后  git  add  和 git commit  不然直接查看  git branch - ...

  6. mysql学习(4)python操作数据库

    整理了一下前面3期学的内容后,现在练习使用python去操作数据库 #!python3# coding:utf-8import pymysqlclass mysql_option(): def __i ...

  7. Spring学习总结之高级装配

    1.  profile profile可以决定bean在什么环境下才被装配(开发环境.测试环境.线上环境等) @Profile(“dev”)可以用在class之前,也可以用在类之前(Spring3.2 ...

  8. "软件"和"软件工程"一词最早被谁提出?

    1."softwar”:1953年Richard R.Carhart在备忘录中使用software一词2.软件工程 1968 年北大西洋公约组织在前联邦德国开会提出的 1968年秋季,NAT ...

  9. Linux内核分析:完成一个简单的时间片轮转多道程序内核代码

    PS.贺邦   原创作品转载请注明出处  <Linux内核分析>MOOC课程    http://mooc.study.163.com/course/USTC-1000029000 1.m ...

  10. someday团队Postmortem(事后诸葛亮会议)

    一.会议相关介绍: 时间:2018年1月12日 地点:第九实验楼五楼机房 参会人员:someday团队全体成员 二.每个成员在beta阶段的实践和alpha阶段有何改进? (一)设想和目标: 我们的软 ...