zoukankan      html  css  js  c++  java
  • 93-time模块

    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:
    {time.localtime()}')
    print(f'UTC时区的struct_time:
    {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
    
  • 相关阅读:
    python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
    python基础(8):基本数据类型三(dict)、is和==、编码和解码
    python基础(7):基本数据类型二(list、tuple)、range
    python基础(1):python介绍、python发展史
    python基础(6):基本数据类型一(int、bool、str)
    python基础(5):格式化输出、基本运算符、编码问题
    python基础(4):用户交互、if判断、while循环、break和continue
    python基础(2):python的安装、第一个python程序
    python基础(3):变量、常量、注释、基本数据类型
    java基础(32):类加载、反射
  • 原文地址:https://www.cnblogs.com/LWX-YEER/p/11522710.html
Copyright © 2011-2022 走看看