美文网首页
day_19time模块

day_19time模块

作者: 我是一只菜鳥 | 来源:发表于2018-08-09 17:09 被阅读0次

    1.time模块

    主要包含处理年月日时分秒对应的时间(着重时分秒)

    1.1.获取当前时间

    时间戳:就是从格林威治时间(1970年1月1日0:0:0)到当前时间的时间差
    # '2010年10月10日 12点10分'
    1.存时间以时间戳的形式去存,可以节省内存空间(一个浮点数的内存空间是4/8个字节,存一个字符串一个字符占2个字节)
    2.自带对时间加密的功能(加密更方便)

        time1 = time.time()
        print(time1, type(time1))
    

    1.2.将时间戳转换成struct_time

    localtime(seconds)
    参数seconds:a.不传参, 就是将当前时间对应的时间戳转换成struct_time
    b.传参,就是将指定的时间转换成struct_time

        time1 = time.localtime()
        print(time1)
        """
        struct_time的结构:
        tm_yeat:年  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(1)
        print(struct1)
    
        # 将struct_time转换成时间戳
        """
        mktime(结构时间)
        2018-8-31 23:30:40
        """
        strc = time.strptime('2018-12-31 23:30:40', '%Y-%m-%d %H:%M:%S')
        time1 = time.mktime(strc)
        # 时间加一个小时
        time1 += 60*60
        print('==',time.localtime(time1))
    

    1.3.时间戳的格式转换

    strftime(时间格式, 时间)
    将时间以指定的格式转换成字符串

        time_str = time.strftime('%Y-%m-%d %H;%M:%S', time.localtime())
        print(time_str)
    
        """
        strptime(需要转换的字符串, 时间格式)
        将时间字符串转换成相应的struct_time
        """
        struct_time = time.strptime('今天是2018年8月9日', '今天是%Y年%m月%d日')
        struct_time = time.strptime('2018-8-8', '%Y-%m-%d')
        print(struct_time)
    
        # 4.延迟
        """
        sleep(秒)
        可以让线程阻塞指定的时间
        """
        time.sleep(5)
    

    2.datetime模块

    2.1data类

    # ============= 1.日期类(date) =========-- 只能表示年月日
        """1.类的字段"""
        # 最小日期
        print(datetime.date.min, type(datetime.date.min))
        # 最大日期
        print(datetime.date.max)
        # 最小单位
        print(datetime.date.resolution)
    
        """2.类方法"""
        # 获取当前日期
        today = datetime.date.today()
        print(today)
    
        # 将时间戳转换成日期
        today2 = datetime.date.fromtimestamp(0)
        print(today2)
    
        """2.对象属性"""
        # 年(year)、月(month)、日(day)属性
        print(today.year, type(today.year))
        print(today.month)
        print(today.day)
    
        """3.对象方法"""
        # 1. 获取指定日期对应的星期
        print(today.isoweekday())
    
        # 2. 将指定日期转换成指定格式的字符串日期
        print(today.strftime('%Y年%m月%d日 周%w'))
    
        # 3. 将日期转换成struct_time
        print(today.timetuple())
    
    
        """4.创建日期对象"""
        print(datetime.date(2017, 9, 10))
    

    2.2datetime类

    # ========datetime类=========
        """1.类方法"""
        # 1. 将时间戳转换成datetime
        print(datetime.datetime.fromtimestamp(0))
    
        # 2. now(时区): 获取当前时间
        print(datetime.datetime.now())
        now_dt = datetime.datetime.now()
    
        # 3. 将时间字符串按指定的格式转换成datetime对象
        print(datetime.datetime.strptime('2018-8-10 10:30:40', '%Y-%m-%d %H:%M:%S'))
    
        """2.对象方法"""
        # 1.将datatime对象转换成struct_time
        print(now_dt.timetuple())
    
        # 2.获取datatime中时分秒的部分
        print(now_dt.time())
    
        # 3.获取datetime中日期的部分
        print(now_dt.date())
    
        # 4.将datetime转换成时间戳
        print(now_dt.timestamp())
    
        # ============3.timedelta方法==========
        # 日期加一天
        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))
    

    相关文章

      网友评论

          本文标题:day_19time模块

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