目录
目录
datetime模块是Python 中用于处理日期和时间的模块,它提供了多种类和方法来表示和操作日期与时间。以下是datetime模块基本用法及常用功能。
导入模块
import datetime
基本用法及常用功能
1. datetime类
1.1 获取当前日期和时间
from datetime import datetime
today = datetime.today()
print(today) # 输出: 2024-08-29 18:27:16.855235
now = datetime.now()
print(now) # 输出: 2024-08-29 18:27:16.855235
# 使用now()实现获取日期和时间
now_date = datetime.now().date()
print(now_date) # 输出: 2024-08-29
now_time = datetime.now().time()
print(now_time) # 输出: 18:27:16.855235
1.2 创建特定日期和时间的对象
from datetime import datetime
specific_date = datetime(2024, 8, 30, 15, 30, 45)
print(specific_date) # 输出: 2024-08-30 15:30:45
2. date类
2.1 获取当前日期
from datetime import date
today = date.today()
print(today) # 输出: 2024-08-29
2.2 创建特定日期对象
from datetime import date
specific_date = date(2024, 8, 30)
print(specific_date) # 输出: 2024-08-30
2.3 获取日期的年、月、日
from datetime import date
today = date.today()
print(today.year) # 输出: 2024
print(today.month) # 输出: 8
print(today.day) # 输出: 29
3. time类
3.1 创建特定时间对象
from datetime import time
specific_time = time(18, 30, 0)
print(specific_time) # 输出: 18:30:00
3.2 获取时间的小时、分钟、秒
from datetime import time
specific_time = time(18, 30, 00)
print(specific_time.hour) # 输出: 18
print(specific_time.minute) # 输出: 30
print(specific_time.second) # 输出: 0
4. timedelta类
timedelta类用于表示两个日期或时间之间的时间差。
4.1 创建时间差对象
import datetime
delta = datetime.timedelta(days=2, hours=3, minutes=15)
print(delta) # 输出: 2 days, 3:15:00
4.2 日期运算
import datetime
delta = datetime.timedelta(days=2, hours=3, minutes=15)
today = datetime.date.today()
future_date = today + delta
print(future_date) # 输出两天后的日期
past_date = today - delta
print(past_date) # 输出两天前的日期
5. 日期与时间的格式化
5.1 日期时间对象转字符串
使用 strftime() 方法可以将 datetime 对象格式化为字符串。
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date) # 输出格式化的日期时间字符串,例如 2024-08-28 15:45:12
常用的格式化符号包括:(注意大小写)
%Y :四位数的年份
%m :两位数的月份
%d :两位数的日期
%H :两位数的小时(24小时制)
%M :两位数的分钟
%S :两位数的秒
5.2 字符串转日期时间对象
使用 strptime() 方法可以将字符串解析为 datetime 对象。
date_str = "2024-08-28 15:45:12"
date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(date_obj) # 输出: 2024-08-28 15:45:12
6. 其他常用功能
6.1 获取当天开始的时间
import datetime
today_start = datetime.datetime.combine(datetime.date.today(), datetime.time.min)
print(today_start) # 输出当天开始的时间 2024-08-29 00:00:00
6.2 获取当天结束的时间
import datetime
today_end = datetime.datetime.combine(datetime.date.today(), datetime.time.max)
print(today_end) # 输出当天结束的时间 2024-08-29 23:59:59.999999