Skip to content

datetime 模块


简介

datetime 是 Python 标准库中用于处理日期和时间的模块。

它提供了多种类和函数,用于处理日期、时间、时间间隔等操作,使得日期和时间的处理更加方便和灵活。


应用场景

  • 作为日志信息的内容输出
  • 计算某个功能的执行时间
  • 用日期命名一个日志文件的名称
  • 生成随机数(时间是不会重复的)

获取当前日期时间

  • datetime.now():获取当前日期和时间
from datetime import datetime

current_datetime = datetime.now()
print("当前时间:", current_datetime)

格式化日期和时间

  • 使用 strftime() 方法可以将 datetime 对象格式化为自动以的字符串格式。
from datetime import datetime

current_datetime = datetime.now()
date = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
print(f"格式化日期时间:{date}")

解析日期和时间

  • 使用 strptime() 函数可以将字符串解析为 datetime 对象
from datetime import datetime

date = "2023-08-08 15:30:00"
datetime = datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
print("Datetime:", datetime)

计算日期间隔

  • 使用 timedelta 类可以进行日期间隔的计算
from datetime import timedelta, datetime

date1 = datetime(2023, 1, 1)
date2 = datetime(2023, 7, 7)
date_diff = date2 - date1
print("Date Difference:", date_diff)

current_datetime = datetime.now()
# 使用 timedelta 计算未来的日期
future_date = current_datetime + timedelta(days=30)
print("Future Date:", future_date)

比较日期

  • 可以直接比较 datetime 对象来判断日期的先后关系。
from datetime import  datetime

date1 = datetime(2023, 1, 1)
date2 = datetime(2023, 8, 8)
if date1 < date2:
    print("date1 is earlier than date2")
elif date1 > date2:
    print("date1 is later than date2")
else:
    print("date1 and date2 are the same")

获取日期和时间的部分信息

  • 可以使用 yearmonthdayhourminutesecond 等属性获取日期和时间的部分信息。
from datetime import datetime

current_datetime = datetime.now()
year = current_datetime.year
month = current_datetime.month
day = current_datetime.day
hour = current_datetime.hour
minute = current_datetime.minute
second = current_datetime.second

print(f"Year: {year}, Month: {month}, Day: {day}")
print(f"Hour: {hour}, Minute: {minute}, Second: {second}")

总结

  • 应用场景
  • 获取当前日期时间
  • 格式化日期和时间
  • 解析日期和时间
  • 计算日期间隔
  • 比较日期
  • 获取日期和时间的部分信息