views.py中编写如下代码(需要import的东西自己补充): def utc_to_local(utc_dt): local_tz = pytz.timezone(settings.TIME_ZONE) local_format = "%Y-%m-%d %H:%M:%S" local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz) return local_dt.strftime(local_format) class DateEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime.datetime): if settings.USE_TZ: return utc_to_local(obj) else: return obj.strftime("%Y-%m-%d %H:%M:%S") else: return json.JSONEncoder.default(self, obj)
调用的地方
return HttpResponse(json.dumps(response, cls=views.DateEncoder))
1、json序列化datetime.datetime
2、数据库UTC时间转为本地时间;见def utc_to_local(utc_dt)