python提供的时间模块time是需要单独引入:

1、time.sleep(secs)# 推迟调用线程的运行,secs指的是秒

  1. time.sleep(secs)

2、time.time():返回当前时间的时间戳

时间戳都是从1970年1月1日午夜经过了多久时间来表示,时间间隔是以秒为单位的浮点小数

  1. import time
  2.  
  3. ticks = time.time()
  4. print("当前时间戳为:", ticks)

当前实际运行结果:

  1. 当前时间戳为: 1509945397.5449631

时间戳最适合做日期的运算。

1970年之前的无法以此计算,unix支持到2038年,所以之后的也不行。

struct_time元组

python用该元祖装起来的9组数字处理时间:

3、time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准

  1. import time
  2.  
  3. localtime = time.localtime(time.time())
    #localtime = time.localtime()
  4. print("本地时间为 :", localtime)
  5. 以上实例输出结果:
  6. 本地时间为 : time.struct_time(tm_year=2017, tm_mon=11, tm_mday=6, tm_hour=13, tm_min=38, tm_sec=32, tm_wday=0, tm_yday=310, tm_isdst=0)

4、time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。

  1. >>>time.gmtime()
  2. time.struct_time(tm_year=2017, tm_mon=11, tm_mday=6, tm_hour=7, tm_min=24, tm_sec=0, tm_wday=0, tm_yday=310, tm_isdst=0)

5、time.asctime([t])格式化的时间:把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入:

  1. import time
  2.  
  3. localtime = time.asctime(time.localtime(time.time()))
  4. print("本地时间为 :", localtime)
  5.  
  6. 以上实例输出结果:
  7. 本地时间为 : Mon Nov 6 13:49:41 2017

格式化日期:

  1. #! /usr/bin/python3
  2.  
  3. import time
  4.  
  5. # 格式化成2017-11-06 13:56:12形式
  6. print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
  7.  
  8. # 格式化成Mon Nov 06 13:59:42 2017形式
  9. print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
  10.  
  11. # 将格式字符串转换为时间戳,time.mktime(t):将一个struct_time转化为时间戳
  12. a = "Mon Nov 06 13:59:42 2017"
  13. print(time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")))
  14.  
  15. 以上实例输出结果:
  16. 2017-11-06 14:02:32
  17. Mon Nov 06 14:02:32 2017
  18. 1509947982.0

6、time.clock()

这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)

以前看代码比较头疼的%

python中时间日期格式化符号:

  1. %y 两位数的年份表示(00-99
  2. %Y 四位数的年份表示(000-9999
  3. %m 月份(01-12
  4. %d 月内中的一天(0-31
  5. %H 24小时制小时数(0-23
  6. %I 12小时制小时数(01-12
  7. %M 分钟数(00=59
  8. %S 秒(00-59
  9. %a 本地简化星期名称
  10. %A 本地完整星期名称
  11. %b 本地简化的月份名称
  12. %B 本地完整的月份名称
  13. %c 本地相应的日期表示和时间表示
  14. %j 年内的一天(001-366
  15. %p 本地A.M.或P.M.的等价符
  16. %U 一年中的星期数(00-53)星期天为星期的开始
  17. %w 星期(0-6),星期天为星期的开始
  18. %W 一年中的星期数(00-53)星期一为星期的开始
  19. %x 本地相应的日期表示
  20. %X 本地相应的时间表示
  21. %Z 当前时区的名称
  22. %% %号本身

备注:

“%p”只有与“%I”配合使用才有效果。

文档中强调确实是0 - 61,而不是59,闰年秒占两秒(汗一个)。

当使用strptime()函数时,只有当在这年中的周数和天数被确定的时候%U和%W才会被计算。

总结:

在Python中共有三种表达方式:1)timestamp 2)tuple或者struct_time 3)格式化字符串。它们之间的转化如图所示:

其他相关模块和函数

在Python中,其他处理日期和时间的模块还有:

python3_time模块详解的更多相关文章

  1. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  2. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  3. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  4. python中threading模块详解(一)

    python中threading模块详解(一) 来源 http://blog.chinaunix.net/uid-27571599-id-3484048.html threading提供了一个比thr ...

  5. python time 模块详解

    Python中time模块详解 发表于2011年5月5日 12:58 a.m.    位于分类我爱Python 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括: ...

  6. python time模块详解

    python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明  一.简介 ...

  7. 小白的Python之路 day5 time,datatime模块详解

    一.模块的分类 可以分成三大类: 1.标准库 2.开源模块 3.自定义模块 二.标准库模块详解 1.time与datetime 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时 ...

  8. 小白的Python之路 day5 random模块和string模块详解

    random模块详解 一.概述 首先我们看到这个单词是随机的意思,他在python中的主要用于一些随机数,或者需要写一些随机数的代码,下面我们就来整理他的一些用法 二.常用方法 1. random.r ...

  9. Python中time模块详解

    Python中time模块详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. ...

随机推荐

  1. Sublime Text 更新后,Package Control 不见了的解决办法

           把红框内配置删掉就可以了! via:http://www.qdfuns.com/notes/14464/f6813e4e18ac31bd856fe17fc8772ebc.html PS: ...

  2. iOS Web开发

    1.让web页面的输入框是数字键盘 html 中 input 的 type = "tel"

  3. 编译OSG_FBX插件

    安装FBX的SDK,例如C:\Program Files\Autodesk\FBX\FBX SDK\2017.1\ 在CMake配置lib库路径的时候,使用 C:\Program Files\Auto ...

  4. 面试题思考:web中关于一些容器基本概念的简单总结

    关键字:应用服务器.web服务器.web容器.jsp容器.servlet容器. 1.应用服务器: 作为应用程序服务器,要求可以通过各种协议(包括 HTTP 协议)把商业逻辑暴露给(expose)客户端 ...

  5. css位置相关元素

    1.border     是边框的意思,它可以设置粗细,多少像素,输入样式,solid是实线的意思,可以直接选择color边框的颜色. 也可以设置某个方向的边框,例如 设置一个div,让它的高和宽都为 ...

  6. SPS读书笔记1——均值比较(T检验,方差检验,非参数检验汇总)

    均值比较.单样本T检验(One-sample Test))目的:检验单个变量的均值与给定的某个常数是否一致.)判断标准:p<0.05;t>1.98即认为是有显著差异的..独立样本T检验(I ...

  7. -bash: xxx: /bin/sh^M: bad interpreter: No such file or directory

    原因是shell脚本文件的文件格式错误 通过vi编辑器来查看文件的format格式.步骤如下: 1.首先用vi命令打开文件 vi stop.sh 2.在vi命令模式中使用 :set ff 命令 可以看 ...

  8. 即使关闭了nagle算法,粘包依旧存在

    JAVA高级架构 https://mp.weixin.qq.com/s?src=11&timestamp=1542107581&ver=1242&signature=OoktA ...

  9. MySQL和时间戳有关的函数

    1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()mysql> select current_timestamp, current ...

  10. Flask蓝图,Session,闪现,中间件等

    Session 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设 ...