Datetime模块
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")
获取日期和时间的部分信息
-
可以使用
year
、month
、day
、hour
、minute
、second
等属性获取日期和时间的部分信息。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}")