python 的time、datetime模块
python 时间模块
import datetime
res = datetime.datetime.now()
print(res) # 2022-08-07 16:47:07.120459
# 去除毫秒
res = datetime.datetime.now().replace(microsecond=0)
print(res) # 2022-08-07 16:48:04
# datime这个模块可以直接加减时间,比如用户开通了七天的会员,计算出7天后的时间存储到数据库
res = datetime.datetime.now().replace(microsecond=0) # # 2022-08-07 16:48:04
res7 = res + datetime.timedelta(days=7)
print(res7) # 2022-08-14 16:50:37
# 查询最近10天的数据
res = datetime.datetime.now().replace(microsecond=0) # # 2022-08-07 16:48:04
res7 = res + datetime.timedelta(days=-10)
# 或者
res7 = res - datetime.timedelta(days=10) # weeks,单位为周的
时间戳和结构化时间,格式化字符串时间相互转换
# 时间戳time.loacltime()/time.gmtime()-->结构化时间time.strftime()--->格式化字符串时间
res = time.strftime("%Y-%m-%d %X") # "%H:%M:%S"可以简化为%X
print(res) # 2022-08-07 17:13:15
# 结构化时间转时间戳用到的是time.mktime()
# 格式化字符串时间转结构化时间time.strptime()
# 时间戳<----结构化时间<----格式化字符串时间
# 应用场景:
# 1.比如用户购买了7天的vip会员,那就要计算出7天后的时间,存储到数据库
# 2.当快过期时,用户又充值了一个月的会员,就需要从数据库里面先把之前的时间给读取出来
# 2.1此时读取出来的格式是 字符串的时间格式,可能读取出来的并不是datetime.datetime.now()这种格式
# 3.所以要将字符串格式的时间转化成时间戳的格式
res = time.strptime("%Y-%m-%d %X")
time.mktime(res) + 30*24*60*60 # 然后把这个时间戳格式的时间,转换为字符串格式的时间存储到数据库
res = time.time()
print(res)
# 将时间戳转化为字符串格式
print(datetime.datetime.fromtimestamp(res)) # 2022-08-07 17:25:26.017592