datetime
date类
import datetime
a = datetime.date.today() # 获取今天的日期
print(a)
print(a.year) # 获取年限
print(a.month) # 获取月份
print(a.day) # 获取天
print(a.__getattribute__('year')) # 获取年分
print(a.__getattribute__('month')) # 获取月份
print(a.__getattribute__('day')) # 获取天
2023-11-01
2023
11
1
2023
11
1
# 比较
b = datetime.date(2023,12,18)
print(a.__ge__(b)) # 大于等于
print(a.__eq__(b)) # 等于
print(a.__gt__(b)) # 大于
print(a.__le__(b)) # 小于等于
print(a.__lt__(b)) # 小于
print(a.__ne__(b)) # 不等于
False
False
False
True
True
True
# 日期相减
print(a.__sub__(b)) #a-b
print(a.__rsub__(b)) # b-a
print(a.__sub__(b).days) # 获取整型
print(type(a.__sub__(b).days))
-47 days, 0:00:00
47 days, 0:00:00
-47
<class 'int'>
# 将date类返回元组
print(a.isocalendar())
print(a.isocalendar()[0])
datetime.IsoCalendarDate(year=2023, week=44, weekday=3)
2023
# 返回(YYYY-MM-DD)标准格式
print(a.isoformat())
2023-11-01
# 返回星期数
print(a.isoweekday())
3
# replace替换日期中的元素 但是不影响原date
c = a.replace(2023,2,15)
print(c)
2023-02-15
# 根据给定的时间戳,返回date对象
import time
print(time.time())
print(datetime.date.fromtimestamp(time.time()))
1698814699.6729577
2023-11-01
# 最大 最小年月日
print(datetime.date.max)
print(datetime.date.min)
9999-12-31
0001-01-01
# 输出日期字符串
print(a.__format__('%Y-%m-%d'))
print(a.__format__('%Y/%m/%d'))
print(a.__format__('%y/%m/%d'))
print(a.__format__('%D'))
print(a.strftime("%Y-%m-%d"))
print(a.__str__())
2023-11-01
2023/11/01
23/11/01
11/01/23
2023-11-01
2023-11-01
time类
# time类由hour小时、minute分钟、second秒、microsecond毫秒和tzinfo五部分组成
print(datetime.time())
print(datetime.time(12,2,3))
d = datetime.time(12, 3, 4)
h = datetime.time(12, 2, 4)
print(d.hour)
print(d.minute)
print(d.second)
print(d.__getattribute__('hour'))
print(d.__getattribute__('minute'))
00:00:00
12:02:03
12
3
4
12
3
# 比较
print(d.__ge__(h)) # 大于等于
print(d.__gt__(h)) # 大于
True
True
# 输出字符串
print(d.__format__('%H:%M:%S'))
print(d.strftime('%H:%M:%S'))
print(d.__str__())
print(d.isoformat())
12:03:04
12:03:04
12:03:04
12:03:04
datetime类
# datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
g = datetime.datetime.now() # 获取当前时间
print(g)
print(g.date())
print(g.time())
2023-11-01 13:14:05.015116
2023-11-01
13:14:05.015116
# 将date和time进行组合
print(datetime.datetime.combine(g.date(), g.time()))
2023-11-01 13:14:05.015116
# 将字符串转换成datetime
r = '2015-12-14 12:32:54'
print(datetime.datetime.strptime(r, '%Y-%m-%d %H:%M:%S'))
2015-12-14 12:32:54
# 将datetime转换成字符串
print(datetime.datetime.strftime(g, '%Y/%m/%d %H:%M:%S'))
print(g.__str__())
print(g.__format__('%Y-%m-%d %H:%M:%S'))
2023/11/01 13:14:05
2023-11-01 13:14:05.015116
2023-11-01 13:14:05
timedelta类
# 1、days:天数
# 2、microseconds:微秒数(>=0 并且 <1秒)
# 3、seconds:秒数(>=0 并且 <1天)
y = g - datetime.timedelta(days=2)
print(y)
2023-10-30 13:14:05.015116