• time模块


    0.1 time模块

    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

    一、datetime模块

    # datetime模块可以看成是时间加减的模块
    import datetime
    # 返回当前时间
    print(datetime.datetime.now())
    2019-03-07 16:22:14.544130
    print(datetime.date.fromtimestamp(time.time()))
    2019-03-07
    # 当前时间+3天
    print(datetime.datetime.now() + datetime.timedelta(3))
    2019-03-10 16:22:14.560599
    # 当前时间-3天
    print(datetime.datetime.now() + datetime.timedelta(-3))
    2019-03-04 16:22:14.568473
    # 当前时间-3小时
    print(datetime.datetime.now() + datetime.timedelta(hours=3))
    2019-03-07 19:22:14.575881
    # 当前时间+30分钟
    print(datetime.datetime.now() + datetime.timedelta(minutes=30))
    2019-03-07 16:52:14.585432
    # 时间替换
    c_time = datetime.datetime.now()
    print(c_time.replace(minute=20, hour=5, second=13))
    2019-03-07 05:20:13.595493
     
  • 相关阅读:
    Android Studio库依赖问题
    Android学习笔记View的工作原理
    专用服务器模式&共享服务器模式
    Linux命令学习总结:shutdown
    Linux查看设置系统时区
    ORA-01950: no privileges on tablespace xxxx
    complex(x):创建一个复数
    python常用函数之--求绝对值函数:abs(x)
    python学习链接:
    requirejs学习博客址分享
  • 原文地址:https://www.cnblogs.com/whnbky/p/11365747.html
Copyright © 2020-2023  润新知