首页 > 数据库 >mysql的时间在vue中显示相差8个小时 (Vue+Django+MySQL 时区 自动转换时间)

mysql的时间在vue中显示相差8个小时 (Vue+Django+MySQL 时区 自动转换时间)

时间:2024-10-16 20:45:34浏览次数:7  
标签:now vue time 00 datetime MySQL import 时区 Django

mysql的时间在vue中显示相差8个小时

 

Vue      10:00:00

Django  (USE_TZ = True, Django会自动根据所设的时区对时间进行转换; 改为False即可)

MySQL   2:00:00

 

=========================

原因: 中间某个环节的时区不对. 

我这里是mysql的时区不对.

解决办法: 全局修改时区设置. 可以通过修改配置文件, 但需要重启服务, 非常麻烦. 因此推荐使用命令行的方式.

1、查询当前系统时间

select now();

2、检查MySQL系统时区

show variables like '%time_zone%';

3、设置时区

set global time_zone = '+08:00'; // 修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+08:00'; // 修改当前会话时区

4、立即刷新生效

flush privileges;

原文链接: https://cloud.tencent.com/developer/article/2242859

=======================

 

RuntimeWarning: DateTimeField AAA.collecttime received a naive datetime (2024-08-17 00:00:01) while time zone support is active.
  warnings.warn("DateTimeField %s received a naive datetime (%s)"

: DateTimeField  received a naive datetime ( ) while time zone support is active.

这是一个跟时区有关的问题,报错中说到datetime字段得到一个naive datetime,而不是支持time zone的active datetime
由于Django的设置 USE_TZ 设置为True,Django会自动根据所设的时区对时间进行转换,所以程序中和数据保存的时间都转UTC时间,只有模版渲染时会把时间转为TIME_ZONE所设置的时区的时间。

使用 datetime.datetime.utcnow() 输出的是不带时区的utc时间,称为naive time

from datetime import datetime
datetime.now()
datetime.datetime(2016, 06, 19, 07, 14, 55, 865000)

使用 django.utils.timezone.now() 输出的是带时区的 utc时间,称为 active time

from django.utils import timezone
timezone.now()
datetime.datetime(2016, 06, 19, 07, 15, 48, 367000, tzinfo=<UTC>)
 
如果项目需要根据时区显示时间,那就使用Django的timezone.now()。不需要的话将USE_TZ设置为False即可。

使用带时区的时间,将所有用到datetime.now()的地方改为timezone.now(),并在对应的文件顶部加上from django.utils import timezone,就OK了。

如果项目中已经有了很多datetime.now(),又不想大面积改动的话,可以将import的语句修改一下

# from datetime import datetime # 原来用的注释掉
from django.utils import timezone as datetime # 不想大面积修改就这么做

=========================

时区问题,datetime.now()生成的不带时区的utc时间称为native time
使用django.utils.timezone.now()输出的是带时区的utc时间,称为active time
 
# from datetime import datetime # 注释的
from django.utils import timezone as datetime # 添加的
 链接:https://blog.csdn.net/heybob/article/details/77319867

=========================

 # settings.py
USE_TZ = False

 =========================

 

 

 

标签:now,vue,time,00,datetime,MySQL,import,时区,Django
From: https://www.cnblogs.com/emanlee/p/18469922

相关文章

  • PHP 模拟mysql group con_cat最完美的分组方案
    <?php//封装分组逻辑的函数functiongroupBy($array,$key){$result=[];foreach($arrayas$element){$result[$element[$key]][]=$element;}$new=[];foreach($resultas$k=>$v){$new[$k]['ww']=$v[0];$new[$k][&......
  • Django学习-ORM_常用字段及字段选项
      字段选项: 注意:当我们新增数据的时候,如果没有新增设置了default的字段,此时会使用default设置的默认值填充到新增的数据中 ......
  • 基于Java+Springboot+Vue开发的健身房管理系统
    项目简介该项目是基于Java+Springboot+Vue开发的健身房管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的健身房管理系统项目,大学生可以在实践中学习和提升......
  • MySQL万能一键安装脚本
    说明:此脚本,适合glibc2.12所有版本的数据库安装。安装包下载地址:MySQL::DownloadMySQLCommunityServer#!/bin/bashecho"-----------------------------开始MYSQL安装--------------------------------------"start_time=$(date+%s)echo-e"\e[31m***************一......
  • 基于.NET8 + Vue/UniApp前后端分离的快速开发框架,开箱即用!
    前言今天大姚给大家分享一款基于.NET8+Vue/UniApp前后端分离的快速开发框架,开箱即用:ZR.Admin.NET。开源免费(基于MITLicense开源协议)、代码量少、学习简单、通俗易懂、功能强大、易扩展、轻量级,让web开发更快速、简单高效(从此告别996),解决70%的重复工作,专注您的业务,轻松开......
  • MySQL8一键物理备份脚本分享
    一、Xtrabackup介绍xtrabackup是由Percona公司开发的一个用于MySQL数据库物理热备的工具,开源免费,目前官方最新版本是8.0.35,也支持8.0.37版本数据库,本文已经过测试。另外8.1,8.2和8.3也支持。它具有如下优点:(1)备份速度快,物理备份可靠;(2)在备份期间不间断地处理事务;(3)支持备份......
  • MySQL
    mysql的版本号:mysql:5.7.26mysql:5.0以下的是正统MySQLmysql:5.3-5.5mysql:5.8mysql特点:开源程序的源代码是对用户开放的用户可以免费获取、使用、修改双授权社区版:免费、没有技术支持商业版:收费、有完善的售后支持跨平台可以运行在Windows、Linux、mac稳定轻量级:My......
  • 2024/10/16 日 日志 --》关于Mysql的中DQL的初步学习笔记与整理
    在前几天已经进行了Mysql的初步准备和学习,接下来我将继续向后推进。以下为课程学习整理,方便记忆和复习。点击查看代码-------DQL----基础查询--1.查询多个字段--SELECT字段列表form表名 ;--selcet*form表名;--查询所有数据--2.去除重复记录--selectdist......
  • springboot+vue基于SpringBoot的音乐演出购票系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景在当今数字化时代,音乐演出已经成为人们休闲娱乐的重要组成部分,它不仅丰富了人们的精神生活,还促进了音乐文化的交流与传播。然而,传统的购票方式,如现场购票或通过电话订票,已难以满足日益增长的观众需求。观众在购票过程中常常面临信息不......
  • 初探Vue2:基础概念与实践指南
    通过记录自己在学习Vue2的过程中的实践经历,复盘项目中的技术应用,巩固Vue2的知识要点,并分享职场中的感悟和心得Vue2简介定义Vue.js,简称Vue,是一个渐进式JavaScript框架,它专注于构建用户界面,易于上手的同时,也能在复杂的应用场景中发挥强大的功能。特点Vue2的核心特点包括:响......