标准库

一、对日期、时间、时间戳的处理

1、datetime 类

类方法

  • today() 返回本地时区当前时间的 datetime 对象
  • now(tz=None) 返回当前时间的 datetime 对象,时间到微秒 如果 tz 等于 None 返回和 today() 一样
  • utcnow() 没有时区的当前时间
  • fromtimestamp(timestamp, tz=None) 从一个时间戳返回一个 datetime 对象

2、datetime 对象

  • timestamp() 返回一个到微妙的时间戳

    • 时间戳: 格林威治时间 1970年到1月1日0点 到现在的秒数
  • 构造方法, datetime.datetime(2016, 12, 6, 16, 29, 43, 79043)

  • year、month、day、hour、minute、secound、microsecond, 取 datetime 对象的年月日时分秒及微妙

    • weekday() 返回星期的天, 周一 0, 周日 6
    • isoweekday() 返回星期的天,周一 1, 周日 7
    • date() 返回日期 date 对象
    • time() 返回时间 time 对象
    • replace() 修改并返回新的时间
    • isocalendar() 返回 一个三元组 (年,周数,周的天) --- 日历的使用

3、日期格式化

  • 类方法 strptime(date_string, format), 返回 datetime 对象
  • 对象方法 strftime(format), 返回字符串
  • 字符串 format 函数格式化
 import datetime

 dt = datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")

 print(dt.strftime("%Y-%m-%d %H:%M:%S"))
 print("{0:%Y}-{0:%m}-{0:%d} {0:%H}:{0:%M}:{0:%S}".format(dt))

  • timedelta 对象
  • 构造方法
  • datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) ---> 返回一个 timedelta 使用时间对象,可以和datetime对象相加减
  • total_seconds() 返回时间差的总秒数
from datetime import datetime, timedelta

nowtime = datetime(year=2019, month=10, day=1, hour=12, minute=15)
print(nowtime)  # 2019-10-01 12:15:00

new_time = nowtime + timedelta(days=3, hours=0.5)
print(new_time) # 2019-10-04 12:45:00   # 时间差,3天零30分钟

delta = (new_time - nowtime).total_seconds()
print(delta)    # 261000.0  差值秒数
原文地址:https://www.cnblogs.com/jingru-QAQ/p/11413100.html