datetime

datetime本身是一个模块,datetime模块中包含一个datetime类。

  1. from datetime import datetime

照上方这样导入的才是datetime这个类。

datetime.timedelta()

一个timedelta对象表示一个时间长度(可指定两个日期或者时间的差值)

  1. class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

具体的转换规则为:

  • 1 millisecond = 1000 microseconds
  • 1 minute = 60 seconds
  • 1 hour = 3600 seconds
  • 1 week = 7 days

    datetime.strptime()

    str转换为datetime对象,需要一个日期和时间的格式化字符串:
    1. from datetime import datetime
    2. cday = datetime.strptime('2017-8-1 18:20:20', '%Y-%m-%d %H:%M:%S')
    3. print(cday)
    4. # 2017-08-01 18:20:20

    datetime.strftime()

    获取datetime对象后,将其格式化为str显示给用户: ```python from datetime import datetime now = datetime.now() print(now.strftime(‘%a, %b %d %H:%M’))

Mon, May 08 20:22

  1. <a name="1wxmE"></a>
  2. ### 日期格式化符号
  3. - %y 两位数的年份表示(00-99)
  4. - %Y 四位数的年份表示(000-9999)
  5. - **%m 月份****(01-12)**
  6. - %d 月内中的一天(0-31)
  7. - %H 24小时制小时数(0-23)
  8. - %I 12小时制小时数(01-12)
  9. - **%M 分钟数**(00=59)
  10. - %S 秒(00-59)
  11. - %a 本地简化星期名称
  12. - %A 本地完整星期名称
  13. - %b 本地简化的月份名称
  14. - %B 本地完整的月份名称
  15. - %c 本地相应的日期表示和时间表示
  16. - %j 年内的一天(001-366)
  17. - %p 本地A.M.或P.M.的等价符
  18. - %U 一年中的星期数(00-53)星期天为星期的开始
  19. - %w 星期(0-6),星期天为星期的开始
  20. - %W 一年中的星期数(00-53)星期一为星期的开始
  21. - %x 本地相应的日期表示
  22. - %X 本地相应的时间表示
  23. - %Z 当前时区的名称
  24. - %% %号本身
  25. <a name="L1JMO"></a>
  26. ## 实例:GMT格式转换
  27. ```python
  28. def formatGMTime(gtime):
  29. G_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
  30. format_dt = datetime.strptime(gtime, G_FORMAT) + timedelta(hours=8)
  31. str_dt = format_dt.strftime('%Y-%m-%d')
  32. return str_dt
  33. >>> formatGMTime('Tue, 23 Feb 2021 07:44:08 GMT')
  34. >>> '2021-02-23'