• 模块 time 和 datetime


    时间模块time datatime

    time 模块

    在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

    (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

    (2)格式化的时间字符串(Format String): ‘1999-12-06’

    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-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)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身
    

    (3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

    import time 
    print(time.time()) # 时间戳
    # 1563442062.862509
    
    print(time.strftime('%Y-%m-%d %X')) # 格式化时间
    # 2019-07-18 17:29:46
    print(time.strftime('%Y-%m-%d %H-%M-%S'))
    # 2019-07-18 17-29-46
    
    print(time.localtime()) # 结构化时间
    # time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=17, tm_min=30, tm_sec=52, tm_wday=3, tm_yday=199, tm_isdst=0)
    

    几种格式之间的转换

    import time
    
    # 时间戳转换结构化时间
    res = time.time()
    print(time.gmtime(res))
    print(time.localtime(res))
    # time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=18, tm_min=34, tm_sec=8, tm_wday=3, tm_yday=199, tm_isdst=0)
    # time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=18, tm_min=34, tm_sec=8, tm_wday=3, tm_yday=199, tm_isdst=0)
    
    # 结构化时间转换时间戳
    res = time.localtime()
    print(time.mktime(res))
    # 1563446202.0
    
    import time
    
    # 结构化时间转换格式化时间
    res = time.localtime()
    print(time.strftime('%Y-%m-%d',res))
    # 2019-07-18
    
    # 格式化时间转换结构化时间
    res = time.strftime('%Y-%m-%d %X')
    print(time.strptime(res,'%Y-%m-%d %X'))
    # time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=18, tm_min=46, tm_sec=37, tm_wday=3, tm_yday=199, tm_isdst=-1)
    

    datetime 模块

    import datetime
    
    # 自定义时间
    res = datetime.date(2019,7,18)
    print(res)
    # 2019-07-18
    
    # 获取本地时间
    print(datetime.date.today)
    res = datetime.datetime.today()
    print(res)
    # 2019-07-18 
    # 2019-07-18 18:52:39.687587
    
    # 无论是年月日,还是年月日时分秒对象都可以调用以下方法获取针对性的数据
    
    print(res.year) # 获取年份 2019
    print(res.month) # 获取月份 7
    print(res.day) # 获取日 18
    print(res.weekday()) # 获取星期 0表示周一  3
    print(res.isoweekday()) # 获取星期 1表示周一  4
    
    # timedelta 对象
    today = datetime.date.today()
    tdelta = datetime.timedelta(days=3)
    print(f'今天日期{today}')
    print(f'从今天向后推3天:{today+tdelta}')
    # 今天日期2019-07-18
    # 从今天向后推3天:2019-07-21
    

    日期对象 = 日期对象 +/- timedelta

    timedelta 对象 = 日期对象 +/- 日期对象

    验证:

    import datetime
    
    now_date = datetime.date.today()
    day = datetime.timedelta(days=7)
    
    now_date1 = now_date+day # 日期对象 = 日期对象 +/- timedelta
    print(type(now_date))
    day1 = now_date1 - now_date # timedelta 对象 = 日期对象 +/- 日期对象
    print(day1)
    
    # <class 'datetime.date'>
    # 7 days, 0:00:00
    
    千里之行,始于足下。
  • 相关阅读:
    随机取数
    张江在线APP演示
    同步异步GET和POST请求
    IOS内存管理retain,assign,copy,strong,weak
    win7 扩展双屏后 双屏同时显示任务栏
    虚拟机 Linux 操作系统与自己window系统之间共享文件
    Eclipse 中关于 “Program "sh" not found in PATH” 错误
    svn... coult not connect server
    Android应用资源系列之属性(Attribute)资源
    Java break [flag]; 与continue [flag]; 区别
  • 原文地址:https://www.cnblogs.com/jincoco/p/11210771.html
Copyright © 2020-2023  润新知