• Python:datetime模块总结


    1. 介绍

    datetime库中定义的几个类:

    类名称描述常用属性
    datetime.date表示日期year, month, day
    datetime.time表示时间hour, minute, second, microsecond
    datetime.datetime表示日期和时间year, month, day, hour, minute, microsecond
    datetime.timedelta表示两个日期时间之间的差days, hours, seconds
    datetime.tzinfo描述时区信息对象的抽象基类上网查找
    datetime.timezone时区,表示与UTC的固定偏移量datetime.timedelta对象

    具体详细方法和总结,参考这篇文章《datetime 时间和日期模块》 

    2.格式化输出字符串

    可以按照需要格式化输出字符串:datetime.datetime.strftime("format")

    代码例子:

    1. import datetime
    2. t = datetime.datetime.now()
    3. print(t.strftime("%Y%m%d"),type(t.strftime("%Y%m%d")))
    4. print(t.strftime("%Y-%m_%d:%H-%M:%S"))
    5. # 输出
    6. # 20220909
    7. # 2022-09_09:10-41:33
    指令意义示例
    %a当地工作日的缩写Sun, Mon, …, Sat
    %A当地工作日的全名Sunday, Monday, …, Saturday
    %w以十进制数显示的工作日,其中0表示星期日,6表示星期六0, 1, …, 6
    %d补零后,以十进制数显示的月份中的一天01, 02, …, 31
    %b当地月份的缩写an, Feb, …, Dec
    %B当地月份的全名January, February, …, December
    %m补零后,以十进制数显示的月份01, 02, …, 12
    %y补零后,以十进制数表示的,不带世纪的年份00, 01, …, 99
    %Y十进制数表示的带世纪的年份0001, 0002, …, 2013, 2014, …, 9998, 9999
    %HHour (24-hour clock)00, 01, …, 23
    %IHour (12-hour clock)01, 02, …, 12
    %M补零后,以十进制数显示的分钟00, 01, …, 59
    %S补零后,以十进制数显示的秒00, 01, …, 59
    %UWeek number of the year (Sunday as the first day of the week)00, 01, …, 53
    %WWeek number of the year (Monday as the first day of the week)00, 01, …, 53
    %c本地化的适当日期和时间表示Tue Aug 16 21:30:00 1988
    %x本地化的适当日期表示08/16/1988
    %X本地化的适当时间表示0.895833333
    %%字面的 ‘%’ 字符字面的 ‘%’ 字符

     3. 常用代码

     1)计算时间差:

    1. import datetime
    2. # 2022-04-24 10:51:23.677632
    3. start_time = datetime.datetime(2022, 4, 24, 10, 51, 23, 677632)
    4. # 2022-04-25 11:52:35.713161
    5. end_time = datetime.datetime(2022, 4, 24, 10, 51, 24, 687638)
    6. delta = end_time-start_time
    7. # 获取timedelta对象经过单位换算后的总秒数
    8. print("seconds: ", delta.seconds)
    9. # 获取timedelta对象经过单位换算后的总微秒数
    10. print("microseconds: ", delta.microseconds)
    11. # 获取timedelta对象包含的总秒数
    12. print("total_seconds: ", delta.total_seconds())
    13. # 四舍五入,保留2位小数
    14. print("total_seconds: ", round(delta.total_seconds(),2))
    15. # 输出
    16. # seconds: 1
    17. # seconds: 10006
    18. # total_seconds: 1.010006
    19. # total_seconds: 1.01

    测试计时例子:

    1. import datetime
    2. import time
    3. start_time = datetime.datetime.now()
    4. print("start_time:",start_time)
    5. # 强制等待10秒时间,import time
    6. time.sleep(10)
    7. end_time = datetime.datetime.now()
    8. print("end_time:",end_time)
    9. delta = end_time-start_time
    10. # 获取timedelta对象经过单位换算后的总秒数
    11. print("seconds: ", delta.seconds)
    12. # 获取timedelta对象经过单位换算后的总微秒数
    13. print("microseconds: ", delta.microseconds)
    14. # 获取timedelta对象包含的总秒数
    15. print("total_seconds: ", delta.total_seconds())
    16. # 四舍五入,保留2位小数
    17. print("total_seconds: ", round(delta.total_seconds(),2))
    18. # 输出
    19. start_time: 2022-09-09 10:54:49.917227
    20. end_time: 2022-09-09 10:54:59.917423
    21. seconds: 10
    22. microseconds: 196
    23. total_seconds: 10.000196
    24. total_seconds: 10.0

  • 相关阅读:
    【C#语言】DataGridView删除行
    14 SpringMVC执行流程
    给电脑重装系统后Win11如何重置记事本?
    解决Maven依赖下载缓慢的问题(亲测管用)
    复习Day06:24. 两两交换链表中的节点、19.删除链表的倒数第N个节点
    TMS FixInsight代码评估工具
    (2022版)一套教程搞定k8s安装到实战 | Cronjob
    SpringBoot配置多个application.properties文件
    【动手学深度学习笔记】--门控循环单元GRU
    lwip_网卡
  • 原文地址:https://blog.csdn.net/qimo601/article/details/126777354