Python中关于时间处理的模块有两个,分别是time和datetime。
-
UTC/GMT:世界时间
-
本地时间:本地时区的时间。
-
datetime模块
- 当前时间、时区转换
from datetime import datetime, timezone, timedelta v1 = datetime.now() # 当前本地时间(东八区) print(v1) tz = timezone(timedelta(hours=7)) # 当前东7区时间 (设置其他时区) v2 = datetime.now(tz) print(v2) v3 = datetime.utcnow() # 当前UTC时间 print(v3)
- 时间间隔
#----datetime类型 + timedelta类型(时间间隔)---- from datetime import datetime, timedelta v1 = datetime.now() print(v1) # 时间的加减 v2 = v1 + timedelta(days=140, minutes=5) print(v2)
- 时间相减
#----datetime类型 - datetime类型---- from datetime import datetime, timezone, timedelta v1 = datetime.now() print(v1) v2 = datetime.utcnow() # 当前UTC时间 print(v2) # datetime之间相减,计算间隔时间(不能相加) data = v1 - v2 print(data.days, data.seconds / 60 / 60, data.microseconds) # 输出:0 8.0 999003
- 字符串格式与datetime格式互转
datetime.strptime() :字符串 --> datetime格式
datetime.strftime() : datetime格式 --> 字符串
#------对比strptime与strftime-----
from datetime import datetime
# 字符串格式的时间 ---> 转换为datetime格式时间
text = '2022-5-1'
v1 = datetime.strptime(text,'%Y-%m-%d') #字符串转datetime格式
print(v1,type(v1))
# datetime格式 ----> 转换为字符串格式
v2 = datetime.now()
val = v2.strftime('%Y-%m-%d %H:%M:%S') #datetime格式转字符串
print(val,type(val))
- 时间戳与datetime格式互转
# 时间戳格式 --> 转换为datetime格式 ctime = time.time() # 1651372496.3807452 v1 = datetime.fromtimestamp(ctime) print(v1) # datetime格式 ---> 转换为时间戳格式 v2 = datetime.now() v2 = v2.timestamp() print(v2)



