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

    time 模块: 与时间相关的模块

    时间分为三类:时间戳,结构化,格式化的字符串时间。

    1)、时间戳: 从1970-1-01  00:00:00开始到现在的秒数

    # -*-coding:utf-8 -*-
    
    import time
    
    print(time.time())
    
    a = time.time()
    print(a)
    
    结果:
    1540727377.488626
    1540727377.488626

      

    2)、结构化: 返回的是一个对象,其中包含一个元组,里面是每个时间的值

    (1):localtime 

    a = time.time()
    print(a)
    b = time.localtime(a)
    print(b)
    
    结果:
    1540727966.660054
    time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=19, tm_min=59, tm_sec=26, tm_wday=6, tm_yday=301, tm_isdst=0)
    a = time.time()
    print(a)
    b = time.localtime(a)
    print(b.tm_year)  #单独获取某个时间——值(属性)
    
    结果:
    1540728162.9470487
    2018

    (2): gmtime  世家统一时间 比北京时间晚8小时。

    a = time.time()
    print(a)
    l = time.localtime(a)
    print(l)
    
    b = time.gmtime(a)
    print(b)
    
    结果:
    1540728352.4624097
    time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=20, tm_min=5, tm_sec=52, tm_wday=6, tm_yday=301, tm_isdst=0)
    time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=12, tm_min=5, tm_sec=52, tm_wday=6, tm_yday=301, tm_isdst=0)

    3)、格式化的字符串时间:

    (1):strftime

    a = time.time()
    print(a)
    l = time.localtime(a)
    
    b = time.strftime('%Y %m %d',l)
    print(b) b1
    = time.strftime('%Y %m %d %H:%M:%S',l) print(b1) 结果: 1540729599.7453313
    2018 10 28 2018 10 28 20:26:39

    # 格式化时间 不能直接对 时间戳进行

    a = time.time()
    print(a)
    
    b1 = time.strftime('%Y %m %d %H:%M:%S',a)
    print(b1)
    
    结果:
    Traceback (most recent call last):
    1540729991.8619258
      File "F:/练习/草稿.py", line 12, in <module>
        b1 = time.strftime('%Y %m %d %H:%M:%S',a)
    TypeError: Tuple or struct_time argument required

    三种格式之间的相互转换

    (1)时间戳转为格式化:

    print(time.localtime(a))

    (2)结构化转字符串:

    a = time.time()
    b1 = time.localtime(a)
    b = time.strftime('%Y %m %d %H:%M:%S',b1)

    (3)字符串转结构化:

    a = time.time()
    
    b1 = time.localtime(a)
    
    a = time.time()
    b1 = time.localtime(a)
    
    b = time.strftime('%Y %m %d %H:%M:%S',b1)
    print(b)
    
    l = time.strptime(b, '%Y %m %d %H:%M:%S') #----
    print(l)
    
    结果:
    2018 10 28 20:50:10
    time.strtime.asctime(time.localtime())0, tm_mday=28, tm_hour=20, tm_min=50, tm_sec=10, tm_wday=6, tm_yday=301, tm_isdst=-1)

    (4):结构化转时间戳

    a = time.time()
    
    b1 = time.localtime(a)
    
    a = time.time()
    b1 = time.localtime(a)
    b = time.strftime('%Y %m %d %H:%M:%S',b1)
    
    
    l = time.strptime(b, '%Y %m %d %H:%M:%S')
    print(l)
    
    h = time.mktime(l)
    print(h)
    
    结果:
    time.struct_time(tm_year=2018, tm_mon=10, tm_mday=28, tm_hour=20, tm_min=53, tm_sec=21, tm_wday=6, tm_yday=301, tm_isdst=-1)
    1540731201.0

    总结:

    转换方式如下图:

    格林威治时间:

    print(time.asctime(time.localtime(60*60*24)))
    print(time.ctime(60*60*24))
    结果:
    Fri Jan  2 08:00:00 1970
    Fri Jan  2 08:00:00 1970

    datetime: #这是一个对 时间 进行处理的包

    #获取当前详细时间:
    print(datetime.datetime.now())
    
    结果
    2018-10-28 21:15:31.214708
    #获取当前 年 时间:
    print(datetime.datetime.now().year)
    
    结果:
    2018
    #替换时间某一属性的值:
    t = datetime.datetime.now()
    print(t)
    t1 = t.replace(year=2020)
    print(t1)
    
    结果:
    2018-10-28 21:19:34.595849
    2020-10-28 21:19:34.595849
    #时间差——:
    t = datetime.timedelta(weeks=1)  #获取一周时间
    print(t)
    t1 = datetime.datetime.now()  #获取当前时间
    print(t1)
    print(t+t1)    # 7天后的时间
    结果:
    7 days, 0:00:00 2018-10-28 21:22:08.941522
    2018-11-04 21:22:08.941522
  • 相关阅读:
    Java类型转换.
    搭建jenkins集群node结点
    java Lambda
    @Autowired使用说明
    Disruptor底层实现讲解与RingBuffer数据结构讲解
    Disruptor并发框架简介
    并发编程中的读写锁分离锁的使用
    并发编程过程中的重入锁
    互联网进行限流策略的Semaphore信号量使用
    并发编程中Future和Callable使用
  • 原文地址:https://www.cnblogs.com/TF511/p/9867285.html
Copyright © 2011-2022 走看看