美文网首页
2018-08-09 day19 time和datetime模块

2018-08-09 day19 time和datetime模块

作者: Kris_Shin | 来源:发表于2018-08-09 17:30 被阅读0次

    time

    # 主要包含处理年月日时分秒对应的时间(重点是时分秒)
    import time
    # 专门处理年月日
    import datetime
    
    if __name__ == '__main__':
        # 1.获取当前时间
        '''
        时间戳:从格林威治时间(1970年1月1日0时0分0秒)到当前时间的时间差(单位:秒)
        1.存时间以时间戳的形式去存,可以姐合适呢个内存空间(一个浮点数的内存是4-8个字节,字符串一个字符2个字节)
        2.自带时间加密的功能(加密更方便)
        '''
        t1 = time.time()
        print(t1, type(t1))
    
        # 2.将时间戳转换成struct_time
        '''
        localtime(seconds)
        参数second:a.不传参,就是当前时间对应的时间戳转换成struct_time
                  b.传参,将指定的时间转换成struct_time
        '''
        t2 = time.localtime()
        print(t2)
        '''
        tm_year:年
        tm_mon:月
        tm_mday:日
        tm_hour时
        tm_min:分
        tm_sec:秒
        tm_wday:星期(0 - 6 → 周一 - 周天)
        tm_yday:是当前的第几天
        tm_isdst:是否是夏令时
        '''
        print(t2.tm_year, t2.tm_mon, t2.tm_mday)
    
        # 将时间戳转换成struct_time
        struct1 = time.localtime(0)
        print(struct1)
    
        # 将struct_time转换为时间戳
        '''2018-8-31 23:30:40'''
        '''
        mktime(结构时间)
        '''
        print('-----------------------------------------------------------')
        srtc = time.strptime('2018-8-31 23:30:40', '%Y-%m-%d %H:%M:%S')
        time1 = time.mktime(srtc)
        time1 += 3600
        print(time.localtime(time1))
    
        # 3.时间格式的转换
        '''
        strftime(时间格式,时间)
        将时间以指定的格式转换成字符串
        * %y 两位数的年份表示(00-99)
        * %Y 四位数的年份表示(000-9999)
        * %m 月份(01-12)
        * %d 月内中的一天(0-31)
        * %H 24小时制小时数(0-23)
        * %h 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)星期天为星期的开始
        * %w 星期(0-6),星期天为星期的开始
        * %W 一年中的星期数(00-53)星期一为星期的开始
        * %x 本地相应的日期表示
        * %X 本地相应的时间表示
        * %Z 当前时区的名称
        * %% %号本身
        '''
        time_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
        print(time_str)
        '''
        strptime(需要转换的字符串,时间格式)
        将时间字符串转换成相应的struct_time
        '''
        struct_time = time.strptime('2018-9-9-', '%Y-%m-%d-')
        print(struct_time)
    
        # 4.延迟
        '''
        sleep(秒)
        可以让线程阻塞x秒
        '''
        time.sleep(1)
    

    datetime

    import datetime
    
    if __name__ == '__main__':
        pass
        '''1.日期类(date) -- 只能表示年月日'''
        # 最小日期
        print(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)
        date1 = datetime.date.fromordinal(1000)
        print(date1)
        '''3.对象属性'''
        # 年月日属性
        max1 = datetime.date.max
        print(max1.year)
        print(max1.month)
        print(max1.day)
        '''4.对象方法'''
        # 1.获取星期(1-7 周一-周天)
        print(today.isoweekday())
    
        # 2.将日期转换为指定格式 Thu Aug  9 00:00:00 2018
        print(today.ctime())
    
        # 3.将指定日期转换成指定格式字符串日期
        print(today.strftime('%Y-%m+%d aaa%w'))
    
        # 4.将日期转换成struct_time
        print(today.timetuple())
        
        '''4.创建日期对象'''
        print(datetime.date(2017, 9, 10))
    
        # ========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))
    

    相关文章

      网友评论

          本文标题:2018-08-09 day19 time和datetime模块

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