time模块

一.time模块

import time

1.1 时间戳

时间戳(timestamp):时间戳表示从1970年1月1日00:00:00:开始按秒九三的时间偏移量

import time

time_stamp = time.time()
print(time_stamp,type(time_stamp))

1.2 格式化时间

格式化时间字符串(format string):格式化时间表示的是普通的字符串格式的时间

import time

format_time  =  time.strftime("%Y-%m-%d %X")
print(format_time,type(format_time)) # 2019-09-15 14:12:22 <class 'str'>

1.3 结构化时间

结构化时间(struct_time):struct_time元祖共有九个元素,分别为(年,月,日,时,分,秒,一年中的第几周,一年中的第几天,夏令时)

print(f'本地时区的struct_time:\n{time.localtime()}')
print(f'UTC时区的struct_time:\n{time.gmtime()}') # 本地时区的struct_time:
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=14, tm_min=21, tm_sec=6, tm_wday=6, tm_yday=258, tm_isdst=0)
# UTC时区的struct_time:
# time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=6, tm_min=21, tm_sec=6, tm_wday=6, tm_yday=258, tm_isdst=0)
#结构化时间的基准时间
print(time.localtime(0)) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
# 结构化时间的基准时间加上一年的时间
print(time.localtime(3600*24*365)) # time.struct_time(tm_year=1971, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=0)

1.4 不同格式时间之间的转换

如上图所示,我们总能通过某种方法在结构化时间-格式化时间-时间戳三者之间进行转换,下面我们将用代码展示如何通过这些方法转换时间格式。

结构化时间

now_time = time.localtime()
print(now_time) # time.struct_time(tm_year=2019, tm_mon=9, tm_mday=15, tm_hour=14, tm_min=31, tm_sec=22, tm_wday=6, tm_yday=258, tm_isdst=0)

把结构化时间转换为时间戳格式

print(time.mktime(now_time))

# 1568529137.0

把结构化时间转换为格式化时间

# %Y年-%m月-%d天 %X时分秒=%H时:%M分:%S秒
print(time.strftime("%Y-%m-%d %X", now_time)) # 2019-09-15 14:33:12

把格式化时间化为结构化时间,它和strftime()是逆操作

print(time.strptime('2013-05-20 13:14:52', '%Y-%m-%d %X'))

time.struct_time(tm_year=2013, tm_mon=5, tm_mday=20, tm_hour=13, tm_min=14, tm_sec=52, tm_wday=0, tm_yday=140, tm_isdst=-1)

把结构化时间表示为这种形式:'Sun Jun 20 23:21:05 1993'。

print(time.asctime())

# Sun Sep 15 14:36:09 2019

如果没有参数,将会将time.localtime()作为参数传入。

print(time.asctime(time.localtime()))

# Sun Sep 15 14:36:09 2019

把一个时间戳转化为time.asctime()的形式。

print(time.ctime())

# Sun Sep 15 14:36:09 2019

如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于

time.asctime(time.localtime(secs))。
print(time.ctime(time.time())) # Sun Sep 15 14:36:09 2019

1.5 其它用法

推迟指定的时间运行,单位为秒

start = time.time()
time.sleep(3)
end = time.time() print(end-start) # 3.000171422958374

最新文章

  1. [Q&amp;A] VS 连接 SQLServer 时未找到或无法访问服务器
  2. python中xrange和range的异同
  3. lightning mdb 源代码分析(1)
  4. Java学习-030-JSON 之四 -- 判断 JSONObject 是否包含键值对
  5. windows环境下搭建ffmpeg开发环境
  6. RoadTrip 学习笔记
  7. (一)phoneGap之环境搭建教程及其example分析
  8. WireShark 使用
  9. PreparedStatement传进null值报错
  10. Windows 机器上面同时安装mysql5.6 和 mysql5.7 的方法
  11. 【最短路算法】Dijkstra+heap和SPFA的区别
  12. mybatis03--字段名和属性名不一致
  13. Python中新式类 经典类的区别(即类是否继承object)
  14. 查看Android应用所需权限(uses-permission)
  15. flutter 安装过程遇到的坑
  16. C++时间标准库时间time
  17. Android性能优化工具之Systrace
  18. 函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事
  19. redis 迭代命令SCAN、SSCAN、HSCAN、ZSCAN
  20. windows的滚动条使用

热门文章

  1. 达梦、oracel、mysql数据库兼容
  2. JavaScript之Date常用知识点
  3. 卸载python3
  4. 好久不见,Java设计模式
  5. git理论知识
  6. android手机卫士、3D指南针、动画精选、仿bilibli客户端、身份证银行卡识别等源码
  7. IoC容器设计
  8. Java过滤器Filter的原理及配置_学习笔记
  9. 使用记事本编写html代码并运行
  10. rancher2.0快速入门