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

    0.1time模块
    import time

    0.1.1 时间戳

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

    time_stamp = time.time()
    print(time_stamp, type(time_stamp))
    1552551519.291029 <class 'float'>

    0.1.2 格式化时间

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

    format_time = time.strftime("%Y-%m-%d %X")
    print(format_time, type(format_time))
    2019-03-07 16:22:11 <class 'str'>

    0.1.3 结构化时间

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

    print('本地时区的struct_time:
    {}'.format(time.localtime()))
    print('UTC时区的struct_time:
    {}'.format(time.gmtime()))
    本地时区的struct_time:
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=16, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0)
    UTC时区的struct_time:
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=8, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, 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)

    0.1.4 不同格式时间的转换

    结构化时间-格式化时间-时间戳

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

    # 结构化时间
    now_time = time.localtime()
    print(now_time)
    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=7, tm_hour=16, tm_min=22, tm_sec=11, tm_wday=3, tm_yday=66, tm_isdst=0)
    # 把结构化时间转换为时间戳格式
    print(time.mktime(now_time))
    1551946931.0
    # 把结构化时间转换为格式化时间
    # %Y年-%m月-%d天 %X时分秒=%H时:%M分:%S秒
    print(time.strftime("%Y-%m-%d %X", now_time))
    2019-03-07 16:22:11
    # 把格式化时间化为结构化时间,它和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())
    Thu Mar  7 16:22:11 2019
    # 如果没有参数,将会将time.localtime()作为参数传入。
    print(time.asctime(time.localtime()))
    Thu Mar  7 16:22:11 2019
    # 把一个时间戳转化为time.asctime()的形式。
    print(time.ctime())
    Thu Mar  7 16:22:11 2019
    # 如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。
    print(time.ctime(time.time()))
    Thu Mar  7 16:22:11 2019

    0.1.5 其他用法

    # 推迟指定的时间运行,单位为秒
    start = time.time()
    time.sleep(3)
    end = time.time()
    
    print(end-start)
    3.0005428791046143

  • 相关阅读:
    learnyou 相关网站
    hdu 3038 How Many Answers Are Wrong
    hdu 3047 Zjnu Stadium 并查集高级应用
    poj 1703 Find them, Catch them
    poj 1182 食物链 (带关系的并查集)
    hdu 1233 还是畅通工程
    hdu 1325 Is It A Tree?
    hdu 1856 More is better
    hdu 1272 小希的迷宫
    POJ – 2524 Ubiquitous Religions
  • 原文地址:https://www.cnblogs.com/lulingjie/p/11418831.html
Copyright © 2011-2022 走看看