• Python基础入门篇【41】--python中的时间包


    python中的时间包

    datetime时间包

    • datetime包是日期与时间的结合体(date&time)
    • 可以获取当前时间
    • 可以获取时间间隔
    • 可以将时间对象转换成时间字符串
    • 可以将字符串转成时间类型

    导入datetime有两种方式:导入datetime模块或直接导入datetime包:

    from datetime import datetime

    import datetime

    获取当前时间

    使用方法:

    datetime.now()   # 导入模块后调用方法
    datetime.datetime.now  # 直接导入包后调用方法
    
    • 1
    • 2

    注意,返回的是一个对象,一个类的实例化对象

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aSvaOn6m-1659939067971)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808101413462.png)]

    获取时间间隔

    单使用获取时间间隔并没有什么用处,要配合获取当前时间来使用

    使用方法:

    from datetime import datetime
    from datetime import timedelta  # timedelta是一个函数
    
    timeobj = timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, week=0)
    # 后面的参数分别代表天,秒,毫秒,微秒,分钟,小时,周;对应的值传入整型
    # 返回的是一个间隔时间段的对象,一个类的实例化对象
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    例子:

    获取前一天的当前时间:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AU9K7zsf-1659939067973)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808102910864.png)]

    时间对象转时间字符串

    上面讲到的获取到的当前时间和时间间隔都是一个对象,而时间对象是无法进行传输的,我们需要将时间对象转换成字符串

    方法:

    时间对象.strftime(format)
    # format为想要转成的格式,例如format为'%Y-%m-%d'时,会转换成‘年-月-日’格式
    
    • 1
    • 2

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LwasTAeQ-1659939067974)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808105018017.png)]

    时间字符串转时间对象

    时间字符串是无法进行加减法的,想要进行加减法,还需要将时间字符串转换成时间对象

    方法:

    from datetime import datetime
    
    str_date = '2022-08-08 11:06:06'
    date_obj = datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')
    # datetime.striptime()返回的是个时间对象
    
    • 1
    • 2
    • 3
    • 4
    • 5

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CtRIktoF-1659939067975)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808113733053.png)]

    注意:strptime(str, '%Y-%m-%d %H:%M:%S')左边字符串的格式一定要和右边参数的格式一致,否则会报错:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WA7RzrVS-1659939067977)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808113938649.png)]

    扩展–时间格式字符

    时间格式字符除了上面提到的%Y %m %d %H %M %S外,代表年、月、日、时、分、秒,还有其他的字符,只不过不常用:

    字符描述
    %I一天中的第几个小时(12小时制,01~12),%H是24小时制
    %f毫秒
    %a简化的星期,如星期三Wed
    %A完整的星期,如星期三Wednesday
    %b简化的月份,如二月Feb
    %B完整的月份,如二月February
    %c本地日期和时间,如Wed Feb 5 10:14:28 2022
    %p显示的上午还是下午,AM/PM
    %j一年中的第几天
    %U一年中的星期数

    时间转换成时间戳

    时间戳–timestamp

    什么是时间戳?

    时间戳就是从1970年1月1日00时00分00秒至今的总毫秒(秒)数

    时间戳是float类型

    将时间对象转换成时间戳

    方法:

    from datetime import datetime
    
    datetime.timestamp(datetime.now())  # 返回当前时间戳
    
    • 1
    • 2
    • 3

    将时间戳转换成时间对象

    方法:

    from datetime import datetime
    
    datetime.fromtimestamp(timestamp)  # 返回时间对象
    
    • 1
    • 2
    • 3

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qYyvERPQ-1659939067979)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808140758599.png)]

    time时间包

    获取当前时间戳

    方法:

    import time
    time.time()
    # 返回秒级别的时间戳(浮点类型)
    # 如果想获取毫秒级别的时间戳,只需要用秒级时间戳*1000即可
    
    • 1
    • 2
    • 3
    • 4

    获取本地时间

    方法:

    import time
    time.localtime(timestamp)
    # 传入一个时间戳,也可以不传,如果不传会默认当前时间
    # 返回一个对象(time.struct_time),对象的属性有时间信息
    
    • 1
    • 2
    • 3
    • 4

    time.localtime()返回的对象属性里有年月日时分秒等信息:

    属性描述取值范围
    tm_year四位数年2020
    tm_mon1~12
    tm_mday1~31
    tm_hour0~23
    tm_min0~59
    tm_sec0~61
    tm_wday一周的第几天0~6(0是周一)
    tm_yday一年的第几日1~366
    tm_isdst夏时令-1,0,1是否时夏时令

    例子:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6wlBOW0Z-1659939067980)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808134742908.png)]

    暂停函数sleep

    用法:

    import time
    time.sleep(second)  # 传入希望暂停的秒数
    
    • 1
    • 2

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZYlPG8B4-1659939067981)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220808135208196.png)]

    time中的strftime和strptime

    strftime使用方法:

    import time
    
    time.strftime(format, t)
    # format--格式化时间标准; t--time.localtime()返回的时间对象
    
    • 1
    • 2
    • 3
    • 4

    strptime使用方法:

    import time
    
    time.strptime(time_str, format)
    # time_str--时间格式的字符串; format--与time_str一致的格式化时间标准
    
    • 1
    • 2
    • 3
    • 4

    思考:datetime和time都功能类似,为什么还需要两个包呢?

    答:在工作过程中,datetime常用于对日期的处理,而time常用于对时间的处理。

  • 相关阅读:
    微服务系统设计——spring微服务技术选型
    169-Rust和Solana环境配置
    【Linux】Ubuntu20.04 无法访问 http://cn.archive.ubuntu.com 问题记录解决
    多级菜单搜索,保存字符串搜索
    Qt 基本知识
    【大虾送书第十期】从不了解用户画像,到用画像数据赋能业务看这一本书就够了
    【跟小嘉学 Rust 编程】三十一、Rust的日志与追踪
    DenseNet论文翻译精读
    Faiss原理和使用总结
    CSS笔记-狂神
  • 原文地址:https://blog.csdn.net/weixin_44629511/article/details/126226562