美文网首页
August 9-day 21-Python模块Time

August 9-day 21-Python模块Time

作者: 慢节拍_2709 | 来源:发表于2018-08-09 19:29 被阅读0次

    time模块

    • 时间戳:就是从格林威治时间(1970年1月1日0:0:0)到当前时间的时间差(单位是秒)
      1. 存时间以时间戳的形式去存,可以节省内存空间(一个浮点数的内存是4/8个字节,存一个字符串一个字符占2个字符)
      2. 自带对时间加密的功能(加密更方便)
    # 主要包含处理年月日时分秒对应的时间(着重时分秒)
    import time
    
    if __name__ == '__main__':
        # 1.获取当前时间
        time1 = time.time()
        print(time1, type(time1))
    
        # 2.将时间戳转换成struct_time
        """
        localtime(seconds)
        参数seconds:a.不传参,就是将当前时间对应的时间戳转换成struct_time
                     b. 传参,就是将指定的时间转换成struct_time
        """
        time1 = time.localtime()
        print(time1)
    
        """
        struct_time的结构:
        tm_year: 年
        tm_mon: 月
        tm_mday: 日
        tm_hour: 时
        tm_min: 分
        tm_sec: 秒
        tm_wday: 星期(0-6 --> 周一 - 周天)
        tm_yday: 当前是当年的第几天
        tm_isdst: 是否是夏令时
        
        """
        print(time1.tm_year, time1.tm_mon, time1.tm_mday)
    
        # 将时间戳转换成struct_time
        struct1 = time.localtime(1000000)
        print(struct1)
    
        # 2.1 将struct_time抓换成时间戳
        """2018-8-31 23:30:40"""
        # 先把日期转换为struct_time
        strc = time.strptime('2018-8-31 23:30:40','%Y-%m-%d %H:%M:%S')
        # 再将struct_time转换为时间戳
        time2 = time.mktime(strc)
        # 时间加一个小时
        time2 += 60**2
        print('==:',time.localtime(time2))
        # 3.时间的格式转换
        """
        strftime(时间格式,时间)
        将时间以指定的格式转换成字符串
        """
        time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        print(time_str)
    
        """
        strptime(需要转换的字符串,时间格式)
        将时间字符串转换成相应的struct_time
        """
        # struct_time = time. strftime('今天是2018年8月5号', '今天是%Y年%m月%d号')
        struct_time = time.strptime('2018-7-20', '%Y-%m-%d')
        print(struct_time)
    
        # 4.延迟
        """
        sleep(秒)
        可以让线程阻塞指定的时间
        """
        time.sleep(5)
        print('哈尼路亚')
    
    结果:
    1533813805.7247362 <class 'float'>
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=19, tm_min=23, tm_sec=25, tm_wday=3, tm_yday=221, tm_isdst=0)
    2018 8 9
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=12, tm_hour=21, tm_min=46, tm_sec=40, tm_wday=0, tm_yday=12, tm_isdst=0)
    ==: time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=30, tm_sec=40, tm_wday=5, tm_yday=244, tm_isdst=0)
    2018-08-09 19:23:25
    time.struct_time(tm_year=2018, tm_mon=7, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=201, tm_isdst=-1)
    哈尼路亚
    

    datetime模块

    #专门处理年月日
    import datetime
    if __name__ == '__main__':
    
        # 1.日期类(date)-- 只能表示年月日
        """1.类的字段"""
        # 最小日期
        print(datetime.date.min, type(datetime.date.min))
        # 最大日期
        print(datetime.date.max)
        # 最小单位
        print(datetime.date.resolution)
    
        """2.类方法"""
        # 获取当前日期
        today = datetime.date.today()
        now_dt = datetime.datetime.now()    
        print(today)
    
        # 将时间戳转换成日期
        today2 = datetime.date.fromtimestamp(0)
        print(today2)
    
    
        """3.对象属性"""
        print(today.year, type(today.year))
        print(today.month)
        print(today.day)
    
        """4.对象方法"""
        # 1.获取指定日期对应的星期
        print(today.isoweekday())
    
        # 2.将指定日期转换成指定格式的字符串日期
        print(today.strftime('%Y-%m-%d week:%w'))
    
        # 3.将日期转换成struct_time
        print(today.timetuple())
    
        """5.创建日期对象"""
        print(datetime.date(2017, 9, 10))
    
        # =======datetime类==========
        # 日期加一天
        print(today + datetime.timedelta(days=100))
        print(now_dt + datetime.timedelta(days=1))
    
        # 日期减两天
        print(today + datetime.timedelta(days=-2))
        print(now_dt + datetime.timedelta(days=-2))
    
        # 时间增加50分钟
        print(now_dt + datetime.timedelta(minutes=50))
    
        # 时间增加1000毫秒
        print(now_dt + datetime.timedelta(microseconds=1000))
    
    结果:
    0001-01-01 <class 'datetime.date'>
    9999-12-31
    1 day, 0:00:00
    2018-08-09
    1970-01-01
    2018 <class 'int'>
    8
    9
    4
    2018-08-09 week:4
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=221, tm_isdst=-1)
    2017-09-10
    2018-11-17
    2018-08-10 19:28:41.581802
    2018-08-07
    2018-08-07 19:28:41.581802
    2018-08-09 20:18:41.581802
    2018-08-09 19:28:41.582802
    

    相关文章

      网友评论

          本文标题:August 9-day 21-Python模块Time

          本文链接:https://www.haomeiwen.com/subject/jgecbftx.html