• python3_time模块详解


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

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

    time.sleep(secs)

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

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

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

    当前实际运行结果:

    当前时间戳为: 1509945397.5449631

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

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

    struct_time元组

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

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

    import time
    
    localtime = time.localtime(time.time())
    #localtime = time.localtime()
    print("本地时间为 :", localtime) 以上实例输出结果: 本地时间为 : 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。

    >>>time.gmtime()
               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

    格式化日期:

    #! /usr/bin/python3
    
    import time
    
    # 格式化成2017-11-06 13:56:12形式
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    
    # 格式化成Mon Nov 06 13:59:42 2017形式
    print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))
    
    # 将格式字符串转换为时间戳,time.mktime(t):将一个struct_time转化为时间戳
    a = "Mon Nov 06 13:59:42 2017"
    print(time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")))
    
    
    以上实例输出结果:
    2017-11-06 14:02:32
    Mon Nov 06 14:02:32 2017
    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-36615     %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中,其他处理日期和时间的模块还有:

  • 相关阅读:
    kernel pwn 入门环境搭建
    linux下sh脚本/bin/bash^M问题解决
    Linux下的C#连接Mysql数据库
    使用docker Hub
    使用ajax+php+mysql实现数据库定时刷新
    docker 安装LAMP环境
    解决Mysql错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
    php实现socket简单的例子
    一次mysql调优过程
    一次mysql主从同步问题及解决过程
  • 原文地址:https://www.cnblogs.com/ranxf/p/7792939.html
Copyright © 2020-2023  润新知