在现代编程中,处理日期和时间是一项常见而又繁琐的任务。为了简化这一过程,Python提供了datetime模块,它是Python标准库中的一个重要组成部分。datetime模块提供了丰富的日期和时间处理功能,使得在Python中处理日期、时间、时间间隔以及执行日期算术变得简单而高效。本文将全面介绍datetime模块的主要功能和用法,帮助读者更好地理解和应用这一模块。
引入datetime模块
import datetime
datetime 模块常用的类
date 类:用于表示日期,包含年、月、日信息。
time 类:用于表示时间,包含时、分、秒、微秒信息。
datetime 类:结合了日期和时间的信息,包含年、月、日、时、分、秒、微秒信息。
from datetime import datetime, date, time
# 创建日期对象
today_date = date(2023, 7, 31)
print(today_date)
# 创建时间对象
current_time = time(8, 14, 15, 125)
print(current_time)
# 创建日期和时间对象
timestamp = datetime(2023, 7, 31, 8, 14, 15, 125)
print(timestamp)
# 格式化输出日期和时间
formatted_time = timestamp.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time) # 输出:2023-07-31 08:14:15
from datetime import datetime
now = datetime.now()
print("现在时间", now)
print("现在时间对应的时间戳", now.timestamp())
print("今天是几号:", now.date())
print("今天日期标准时间", now.timetuple())
print("今年是哪一年:", now.year)
print("现在是几月:", now.month)
print("今天是几号:", now.day)
print("时:", now.hour)
print("分:", now.minute)
print("秒:", now.second)
print("微秒:", now.microsecond)
print("格式化今天的日期", now.strftime("%Y-%m-%d %H:%M:%S"))
timedelta 类:表示时间间隔或持续时间,可以进行时间的加减运算。
下面来看一下timedelta的操作:
from datetime import timedelta
# 创建一个持续时间为1天的timedelta对象
one_day = timedelta(days=2)
# 创建一个持续时间为1小时的timedelta对象
one_hour = timedelta(hours=3)
# 创建一个持续时间为30分钟的timedelta对象
thirty_minutes = timedelta(minutes=40)
# 创建一个持续时间为1周的timedelta对象
one_week = timedelta(weeks=1)
# 创建一个持续时间为2天、5小时、10分钟的timedelta对象
custom_timedelta = timedelta(days=2, hours=3, minutes=40, seconds=50)
print(custom_timedelta)
再来看一下使用timedelta对日期进行加减运算的案例:
from datetime import datetime, timedelta
# 当前日期时间
current_datetime = datetime.now()
# 偏移两天后的日期时间
two_day_later = current_datetime + timedelta(days=2)
# 偏移一周前的日期时间
one_week_ago = current_datetime - timedelta(weeks=1)
# 计算两个日期之间的时间差
time_difference = two_day_later - one_week_ago
print(time_difference) # 输出: 9 days, 0:00:00