该方法不需要获取时间差,前后端通信的时间格式都是时间戳,因时间戳是不分时区的,到了前端显示转换也方便,但后端数据库里存储的并不是时间戳,二是utc时间字符串(为了在数据库里直接查询时能看懂)
存储到数据库
from datetime import datetime
utc_time = datetime.utcnow
//或前端传过来的时间戳now_timestamp
// 获取时间变量now_timestamp
now_timestamp= request.args.get('timestamp', 0, int)
utc_time = datetime.utcfromtimestamp(now_timestamp/ 1000)
根据时间查询比较时(假设比较时间为时间戳),也要先转换要查询的时间变量
// 获取时间变量
start = request.args.get('start', 0, int)
utc_start = datetime.utcfromtimestamp(start / 1000)
从数据库查询出来的时间为UTC时间字符串,需要转换为时间戳
from datetime import datetime
import pytz
db_datetime = 数据库的utc时间变量的datetime对象
utc_time = utc_datetime.replace(tzinfo=pytz.utc)
// 转化为时间戳
db_timestamp = int(utc_time.timestamp() * 1000)