• python3 time模块


    import time
    
    # strftime获取当前系统格式化时间,%X和%H:%M:%S相等
    print(time.strftime("%Y-%m-%d %H:%M:%S"))
    print(time.strftime("%Y-%m-%d %X"))
    
    print(type(time.strftime("%Y-%m-%d %H:%M:%S")))
    2019-11-27 22:00:14
    2019-11-27 22:00:14
    <class 'str'>
    import time 
    
    # 查看系统时间,拿到的是一个数字(时间戳),从1970-01-01 00:00:00开始计算,以秒为单位
    # 这里需要知道中国的时间是UTC+8,也就是东八区,当开始计数的时候,中国已经经历的8个小时。
    print(time.time())
    
    print(type(time.time()))
    1574863230.2989101
    <class 'float'>

    
    
    import time
    
    # 一年365天,一天24小时,一小时60分钟,一分钟60秒,一年是365*24*60*60=31536000秒,计算从1970-01-01到现在经过了多少年?
    print(time.time()/31536000)
    49.93856116571959

    import time
    
    # sleep让程序睡几秒,计算程序一共使用了多少秒?
    start_time = time.time()
    time.sleep(2) 
    end_time = time.time()
    
    print(end_time - start_time)
    2.0001142024993896

    
    
    import time
    
    # localtime获取当前系统(东八区)的结构化时间(常用) print(time.localtime()) print(type(time.localtime())) # gmtime获取UTC(零时区)的结构化时间(不常用) print(time.gmtime()) print(type(time.gmtime()))
    time.struct_time(tm_year=2019, tm_mon=11, tm_mday=27, tm_hour=22, tm_min=11, tm_sec=13, tm_wday=2, tm_yday=331, tm_isdst=0)
    <class 'time.struct_time'>
    time.struct_time(tm_year=2019, tm_mon=11, tm_mday=27, tm_hour=14, tm_min=11, tm_sec=13, tm_wday=2, tm_yday=331, tm_isdst=0)
    <class 'time.struct_time'>

    import time
    
    # localtime将指定的时间戳转换为结构化时间
    n = 31536000
    print(time.localtime(n))
    print(type(time.localtime(n)))
    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)
    <class 'time.struct_time'>

    import time
    
    # strftime将结构化时间转换为格式化时间
    n = 31536000
    struct_time = time.localtime(n)
    date_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
    print(date_time)
    print(type(date_time))
    1971-01-01 08:00:00
    <class 'str'>

    import time
    
    # mktime将格式化时间转化为时间戳:字符串-》结构化时间-》时间戳
    struct_time = time.strptime("2019-11-22 12:13:14", "%Y-%m-%d %H:%M:%S")
    print(time.mktime(struct_time))
    print(type(time.mktime(struct_time)))
    1574395994.0
    <class 'float'>

    '''
    时间戳转化成格式化时间 strftime -- format
    1.把时间戳转化为结构化时间
    2.把结构化时间转化为格式化时间
    '''
    n = 10000000
    struct_time = time.localtime(n)
    print(struct_time)
    print(time.strftime("%Y-%m-%d %H:%M:%S", struct_time))
    time.struct_time(tm_year=1970, tm_mon=4, tm_mday=27, tm_hour=1, tm_min=46, tm_sec=40, tm_wday=0, tm_yday=117, tm_isdst=0)
    1970-04-27 01:46:40

    '''
    把字符串转化为数字(时间戳)strptime -- parse
    1.把字符串转化为结构化时间
    2.把结构化时间转化为时间戳
    '''
    s = input("请输入一个时间(%Y-%m-%d %H:%M:%S):")  
    struct_time = time.strptime(s, "%Y-%m-%d %H:%M:%S")  # p:parse
    print(struct_time)
    print(time.mktime(struct_time))
    请输入一个时间(%Y-%m-%d %H:%M:%S):2018-1-2 12:2:4
    time.struct_time(tm_year=2018, tm_mon=1, tm_mday=2, tm_hour=12, tm_min=2, tm_sec=4, tm_wday=1, tm_yday=2, tm_isdst=-1)
    1514865724.0

    '''比计较两个时间相差多少小时多少分钟'''
    s1 = "1989-01-02 12:00:00"
    s2 = "1989-01-01 14:35:00"
    n1 = time.mktime(time.strptime(s1, "%Y-%m-%d %H:%M:%S"))
    n2 = time.mktime(time.strptime(s2, "%Y-%m-%d %H:%M:%S"))
    dif_hour, dif_second = divmod(abs(n1-n2), 60*60)
    dif_min = dif_second//60
    print("两个时间相差%d小时%d分钟" % (dif_hour, dif_min))
    两个时间相差21小时25分钟

    '''日期格式化的标准
    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(0000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12)
    %M 分钟数(00-59)
    %S 秒(00-59)
    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身
    '''
  • 相关阅读:
    ServletContext
    PS切图
    session实战案例
    Array Destruction
    Session详解
    No More Inversions 全网最详细 回文序列的逆序对
    Sum of Paths (DP、预处理)
    cookie详解
    web的状态管理
    简单最大流/最小割复习
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10789353.html
Copyright © 2020-2023  润新知