美文网首页
day19Python时间模块

day19Python时间模块

作者: 七夜_174e | 来源:发表于2018-08-09 16:47 被阅读0次

    主要包含处理年月日,时分秒对应的时间,主要着重时分秒。
    使用time模块要先导入
    import time

    专门处理年月日
    import datetime

    1、获取时间

    时间戳:就是从格林威治时间(1970年1月1日0:0:0)到当前时间的时间差(单位是秒)

    • 1、存时间以时间戳的形式去存,可以节省空间(一个浮点数的内存是4/8个字节,若存字符串一个字符占2个字节)
    • 2、自带对时间加密的功能(加密更方便)
      time1 = time.time()
      print(time1,type(time1))
    
    1533803211.2256541 <class 'float'>
    

    2、将时间戳转换成struct_time

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

      time1 = time.localtime()
      print(time1)
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=16, tm_min=26, tm_sec=51, tm_wday=3, tm_yday=221, tm_isdst=0)
    

    struct_time的结构
    tm_year:年
    tm_mon:月
    tm_mday:日
    tm_hour:时
    tm_min:分
    tm_sec:秒
    tm_wday:星期(0-6 -->周一-周天)
    tm_yday:当前是当年的第几天
    tm_isdst:是否是夏令时

        struct1 = time.localtime(100000)
        print(struct1)
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=11, tm_min=46, tm_sec=40, tm_wday=4, tm_yday=2, tm_isdst=0)
    

    2.1将struct_time转换成时间戳

    """
    mktime(结构时间)
    """
    """2018-8-31 23:30:40"""
    strc = time.strptime('2018-8-31 23:30:40','%Y-%m-%d %H:%M:%S')
    time1 = time.mktime(strc)
    # 时间加一个小时
    time1 += 3600
    print('===',time.localtime(time1))
    === 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)
    

    3、时间的格式转换

    """
    strftime(时间格式,时间)
    将时间以指定的格式转换成字符串
    """
    time_str = time.strftime('%j',time.localtime())
    print(time_str)
    
    """
    strptime(需要转换的字符换,时间格式)
    将时间字符串转换成相应的struct_time
    """
    struct_time = time.strptime('今天是8102年8月9号','今天是%Y年%m月%d号')
    print(struct_time)
    

    4、延迟

    """
    sleep(秒)
    可以让线程阻塞指定的时间
    """
    
    • %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 当前时区的名称
    • %% %号本身

    import datetime
    # 1、日期类(date)--只能表示年月日
    """1、类的字段"""
    # 最小日期
    print(datetime.date.min,type(datetime.date.min))
    # 最大日期
    print(datetime.date.max,type(datetime.date.max))
    # 最小单位
    print(datetime.date.resolution)

    """2.类方法"""
    # 获取当前日期
    today1 = datetime.date.today()
    print(today1)
    
    # 将时间戳转换成日期
    today2 = datetime.date.fromtimestamp(1000000)
    print(today2)
    
    """2、对象属性"""
    print(today1.year,type(today1.year))
    print(today1.month)
    print(today1.day)
    
    """3、对象方法"""
    # 1、获取星期(0-6 -->周一到周天)
    print(today1.weekday())
    print(today1.isoweekday())  #返回的1-7代表周一到周日
    
    # 2、将指定日期转换成指定格式的字符串日期
    print(today1.strftime('%Y-%m-%d %w'))
    
    # 创建日期对象
    print(datetime.date(2017,8,29))
    

    打印结果

    0001-01-01 <class 'datetime.date'>
    9999-12-31 <class 'datetime.date'>
    1 day, 0:00:00
    2018-08-09
    1970-01-12
    2018 <class 'int'>
    8
    9
    3
    4
    2018-08-09 4
    2017-08-29
    

    相关文章

      网友评论

          本文标题:day19Python时间模块

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