• 17-time与datetime模块(1)


    一、时间的三种模式

    在Python中,通常有这几种方式来表示时间:

    • 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
    • 格式化的时间字符串(Format String)
    • 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
    #一:time
    import time
    
    # 时间分为三种格式:
    # 1、时间戳:从1970年到现在经过的秒数
    #    作用:用于时间间隔的计算
    
    print(time.time())                                  # 1585577079.4596283
    
    # 2、按照某种格式显示的时间:2020-03-30 11:11:11
    #    作用:用于展示时间
    
    print(time.strftime('%Y-%m-%d %H:%M:%S %p'))        # 2020-03-30 22:03:33 PM
    print(time.strftime('%Y-%m-%d %X'))                 # 2020-03-30 22:03:33
    
    # 3、结构化的时间
    #    作用:用于单独获取时间的某一部分
    
    res=time.localtime()    
    print(res)                                          
    # time.struct_time(tm_year=2020, tm_mon=3, tm_mday=30, tm_hour=22, tm_min=4, tm_sec=39, tm_wday=0, tm_yday=90, tm_isdst=0)
    
    print(res.tm_year)                                 #  2020
    print(res.tm_yday)                                 # 90

    二、datetime 模块

    #二:datetime
    import datetime
    
    print(datetime.datetime.now())                                  # 2020-03-30 22:06:06.536180
    print(datetime.datetime.now() + datetime.timedelta(days=3))     # 2020-04-02 22:06:06.536180
    print(datetime.datetime.now() + datetime.timedelta(weeks=1))    # 2020-04-06 22:06:06.536180
    import datetime
    print(datetime.datetime.now())              # 当前时间
    print(datetime.datetime.utcnow())           # 世界时间
    
    print(datetime.datetime.fromtimestamp(333333))      # 将时间戳直接转换成 日期格式 1970-01-05 04:35:33

    三、时间模块需要掌握的操作

    3.1 时间格式的转换

    # 1、时间格式的转换
    # struct_time->时间戳
    import time
    s_time=time.localtime()
    print(time.mktime(s_time))
    
    # 时间戳->struct_time
    tp_time=time.time()
    print(time.localtime(tp_time))
    
    # 补充:世界标准时间与本地时间
    print(time.localtime())
    print(time.gmtime())                # 世界标准时间,格林威治时间
    print(time.localtime(333333333))
    print(time.gmtime(333333333))
    
    
    # struct_time->格式化的字符串形式的时间
    s_time=time.localtime()
    print(time.strftime('%Y-%m-%d %H:%M:%S',s_time))
    print(time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S'))

    3.2 时间戳与格式化时间的转换(!!!重点!!!)

    # format string<------>timestamp
    # '1988-03-03 11:11:11'+7
    
    # format string--->struct_time--->timestamp     格式化字符串时间转换成时间戳  
    struct_time=time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S')
    timestamp=time.mktime(struct_time)+7*86400
    print(timestamp)                                    # 573966671.0
    
    # format string<---struct_time<---timestamp     时间戳转换成格式化字符串时间
    res=time.strftime('%Y-%m-%d %X',time.localtime(timestamp))
    print(res)                                          # 1988-03-10 11:11:11

    3.2 了解知识

    #--------------------------按图2转换时间
    # asctime([t]) : 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。
    # 如果没有参数,将会将time.localtime()作为参数传入。
    print(time.asctime())#Sun Sep 11 00:43:43 2016
    
    # ctime([secs]) : 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为
    # None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。
    print(time.ctime())  # Sun Sep 11 00:46:38 2016
    print(time.ctime(time.time()))  # Sun Sep 11 00:46:38 2016
    
    
    
  • 相关阅读:
    python快捷键的使用【摘抄】
    Jmeter5.1 Plugins Manager配置dummy使用jp@gc
    jmeter正则中常见的转义字符-笔记三
    测试人员问问题的技巧是什么?
    一个简单的python实现百度登录操作
    2.3 Go内置函数
    2.2 Go变量类型
    2.1Go语言特性
    1.2Go环境搭建之Mac
    1.1Go环境搭建之Linux
  • 原文地址:https://www.cnblogs.com/zhubincheng/p/12601615.html
Copyright © 2020-2023  润新知