# 日期模块
# 支持减法,不支持加法
# 范围datetime支持的范围 0001-01-01 ~ 9999-12-31
import datetime
print('date类','*'*50)
kai = datetime.date(2023, 1, 1) # 定义传递年月日
end = datetime.date(2024, 1, 25)
print('支持减法', end - kai) # date日期类支持加减法
print('最小范围', kai.min)
print('最大范围', kai.max)
print('获取年份', kai.year)
print('获取月份', kai.month)
print('获取日期', kai.day)
print('获取周', end.weekday()) # 周的范围0~6
print('比较大小', kai < end) # 支持比较大小
# time时间类
print('time类','*'*50)
time_ = datetime.time(23, 5, 5)
time_1 = datetime.time(23, 5, 6)
print('获取时间', time_)
print('支持的时间范围', time_.min, time_.max)
print('获取时', time_.hour)
print('获取分', time_.minute)
print('获取秒', time_.second)
print('比较大小', time_ > time_1) # 支持比较大小
# print('加减法',time_1 - time_) # time时间类不支持加减法
# datetime 时期时间类
print('datetime类','*'*50)
a = datetime.datetime(2024, 1, 25, 11, 50, 50)
b = datetime.datetime(2024, 2, 25, 12, 51, 56)
print('时期时间类', a)
print('时期时间类的范围', a.min, a.max)
print('获取日期', a.date())
print('获取时间', a.time())
print('获取周', a.weekday()) # 周四
print('支持减法', b - a) # 返回天数,时间
# timedlta类
print('timedlta类','*'*50)
c = datetime.datetime(2024, 1, 1, 1, 1, 1)
print(c)
t = datetime.timedelta(days=10) # 时间差
print('时间日期类 - 时间差', c - t) # 表示10天前
print('时间日期类 + 时间差', c + t) # 表示10天后
print('日期时间与字符串相互转换','*'*50)
# 日期时间转换字符串
str_ = c.strftime('%Y%m%d %H%M%S')
print('日期转换为字符串',str_)
# 字符串转化为日期时间
d = datetime.datetime.strptime(str_,'%Y%m%d %H%M%S')
print('字符串转换为时间',d)
代码运行结果
date类 **************************************************
支持减法 389 days, 0:00:00
最小范围 0001-01-01
最大范围 9999-12-31
获取年份 2023
获取月份 1
获取日期 1
获取周 3
比较大小 True
time类 **************************************************
获取时间 23:05:05
支持的时间范围 00:00:00 23:59:59.999999
获取时 23
获取分 5
获取秒 5
比较大小 False
datetime类 **************************************************
时期时间类 2024-01-25 11:50:50
时期时间类的范围 0001-01-01 00:00:00 9999-12-31 23:59:59.999999
获取日期 2024-01-25
获取时间 11:50:50
获取周 3
支持减法 31 days, 1:01:06
timedlta类 **************************************************
2024-01-01 01:01:01
时间日期类 - 时间差 2023-12-22 01:01:01
时间日期类 + 时间差 2024-01-11 01:01:01
日期时间与字符串相互转换 --------------------------------------------------
日期转换为字符串 20240101 010101
字符串转换为时间 2024-01-01 01:01:01