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()
#------对比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.strftime()
# 时间戳格式 --> 转换为datetime格式
ctime = time.time() # 11213245345.123
v1 = datetime.fromtimestamp(ctime)
print(v1)
# datetime格式 ---> 转换为时间戳格式
v2 = datetime.now()
v2 = v2.timestamp()
print(v2)