问题:

1.node+Mysql,查看数据库时区显示正确,但查询时,显示的确是另一个时区的时间。
2.前端调用接口返回:startTime: "2020-03-04T17:53:55.000Z"这样的格式

3.但查看数据库,时间显示是正确的格式:

4. 这个问题其实困扰了我很久,找的方法都一样,但是都解决不了,就一直搁置着,之前都是在搜mysql的时区问题,直到今天多加了个node关键词,才解决掉。论搜索的关键词的重要性!

解决:

1.按照百度的方法先修改了mysql的时区的配置

#登录数据库查看时区配置:
show variables like '%time_zone%';
# 仅修改当前会话的时区,停止会话失效
set time_zone = '+8:00';# 修改全局的时区配置
set global time_zone = '+8:00';
flush privileges;

2.再查看一下,确认已经修改成功了,但是没用,返回的数据还是和修改之前的一样!

3.这时候还需要修改一下node对数据库的配置(dateStrings : true):

var mysqlConfig = {host: "localhost",user: "root",password: "123456",port: "3306",database: "sqltest",dateStrings: true //修改日期格式 强制日期类型(TIMESTAMP, DATETIME, DATE)以字符串返回
};module.exports = mysqlConfig

4.再查看一下,格式已经是正确返回了:

5. 再对比一下,确实,修改配置之前time的格式是红色的,并不是字符串类型;

附:

附node对mysql的其他配置及解释:

var mysqlConfig = {host: 连接数据库所在的主机名. (默认: localhost)
port: 连接端口. (默认: 3306)
localAddress: 用于TCP连接的IP地址. (可选)
socketPath: 链接到unix域的路径。在使用host和port时该参数会被忽略.
user: MySQL用户的用户名.
password: MySQL用户的密码.
database: 链接到的数据库名称 (可选).
charset: 连接的字符集. (默认: 'UTF8_GENERAL_CI'.设置该值要使用大写!)
timezone: 储存本地时间的时区. (默认: 'local')
stringifyObjects: 是否序列化对象. See issue #501. (默认: 'false')
insecureAuth: 是否允许旧的身份验证方法连接到数据库实例. (默认: false)
typeCast: 确定是否讲column值转换为本地JavaScript类型列值. (默认: true)
queryFormat: 自定义的查询语句格式化函数.
supportBigNumbers: 数据库处理大数字(长整型和含小数),时应该启用 (默认: false).
bigNumberStrings: 启用 supportBigNumbers和bigNumberStrings 并强制这些数字以字符串的方式返回(默认: false).
dateStrings: 强制日期类型(TIMESTAMP, DATETIME, DATE)以字符串返回,而不是一javascript Date对象返回. (默认: false)
debug: 是否开启调试. (默认: false)
multipleStatements: 是否允许在一个query中传递多个查询语句. (Default: false)
flags: 链接标志.
}

参考连接:
MySQL查看和修改时区的方法
nodejs中mysql用法
Nodejs——Mysql时区问题

node+Mysql,数据库时区显示正确,查询时却显示另一个时区相关推荐

  1. mysql数据库中查询第几条到第几条数据_在 mysql 数据库中,从查询结果的第四条记录开始选取5条记录,下面 sql 语句正确的是( )...

    [单选题]同一种货物,在同一线路上或平行线路上作相对方向的运送,而与对方运程的全部或一部分发生重迭交错的运输被称为( ). [多选题]水闸一般由()三部分组成 [单选题]在一个常规的统计表内,非必需包 ...

  2. MySQL数据库应用 多表查询_mysql数据库-多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: ​ 数据库的创建 : create ...

  3. kettle 查询数据库写入文件_怎么连接数据库-详解如何用kettle连接mysql数据库并导出sql查询结果...

    概述 今天主要介绍下kettle怎么去连接mysql数据库及导出sql查询结果. 1.数据库链接驱动 如果没有安装对应的数据库驱动,在数据库连接的过程中,可能会报某个数据库连接找不到的异常,因此需要下 ...

  4. mysql数据库备份注意,Tips: MySQL数据库使用mysqldump备份恢复时的注意事项

    Tips: MySQL数据库使用mysqldump备份恢复时的注意事项背景mysqldump采坑点1. -E, -R, --triggers2. drop table3. --set-gtid-pur ...

  5. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

    1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件 ②安装MySQL数据库(下载地址:https://www.mysql.com/) ③安装Navicat Premium来查看 ...

  6. python查询mysql数据库_python针对mysql数据库的连接、查询、更新、删除操作示例...

    本文实例讲述了python针对mysql数据库的连接.查询.更新.删除操作.分享给大家供大家参考,具体如下: 连接 一 代码 import pymysql # 打开数据库连接 db = pymysql ...

  7. java JDBC连接MySQL数据库调用存储过程进行查询

    java JDBC连接MySQL数据库调用存储过程进行查询 主程序代码 工具类 文件信息 存储过程 结果截图 主程序代码 package Mysql;import util.JDBCUtils; im ...

  8. mysql数据库的xml模糊查询

    mysql数据库的xml模糊查询 mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译 正常的是使用%xxxx% ,现在需要使用 concat('%',#{xx ...

  9. MySQL工作笔记-建表时为Float型数据确定精度,查询时精度显示,多列之和查询

    目录 建表时设置精度 查询时设置精度 查询多列之和 建表时设置精度 首先是建表时为float类型设置精度: SQL代码如下: CREATE TABLE `testtable` (`id` int(11 ...

最新文章

  1. Saltstack系列之一——安装篇
  2. string转map集合_[系列文章] Go - Map 集合
  3. springboot获取ApplicationContext的三种方式
  4. 光端机的物理接口类型及传输系统原理
  5. 进程中的一个线程死了所引发的后果
  6. Python面向对象高级编程
  7. Arduino文档阅读笔记-WeMos D1 ESP8266 WIFI开发板入门
  8. 动态规划 —— 背包问题 —— 背包问题模版
  9. Sqlserver2012 根据数据库mdf文件生成log文件,解决无法附加mdf文件
  10. PHP数组合并的常见问题
  11. SQL:PostgreSQL设置自增序列
  12. AGND DGND PGND GND
  13. robotium android,Robotium 测试Android apk安装包
  14. 记录一下Base64 在线编码解码
  15. 云安全将来时 | 云安全的发展与未来趋势
  16. 太酷了,手把手教你用 Python 绘制桑基图
  17. JAVA大作业-购物车 (持续更新)
  18. 计算机桌面内存,电脑内存怎么清理
  19. 【专题】莫比乌斯反演
  20. 丘成桐大学生数学竞赛数学物理

热门文章

  1. 【未完待续】Git个人solo实际常用命令
  2. linux fedora35指定某个固定的启动项作为默认的启动项
  3. Centos7.x 升级svn版本到指定版本
  4. Linux centos修改用户所属组的方法
  5. flink on yarn两种提交模式
  6. Java客户端操作zookeeper:创建永久节点和临时节点
  7. Oracle不带传出参数的存储过程创建及调用
  8. python3数据类型:Dictionary(字典)
  9. fastDFS分布式文件系统--文件上传/下载/查询完整代码实现
  10. 【面试题】CookieSession