【mysql】mysql数据库里面date的数据取出来格式和时间都不对了

我前端输入一个2017-08-20,后台接收并且录入数据库,在数据库中显示的也是2017-08-20,但是从数据库中取出来的时候就变成2017-08-19T16:00:00.000Z,我想了很久也没解决,是录取数据库之前这个日期就错了么?但是我只是相当于打了个字符串啊,求大神解决

回答

谢谢大家的参与,说取出数据在做处理的还是治标不治本,最有效的做法就是在连接mysql的配置文件中添加一条,timezone:"08:00",好了结贴

时区不对。你这个是UTC通用标准时。
用show variables like "%time_zone%",看看数据库时区,改一下mysql时区

【mysql】mysql数据库里面date的数据取出来格式和时间都不对了

所有时间相关的处理建议用 moment http://momentjs.com/docs/#/pa...。你这种情况 format 一下就行了:

const moment = require('moment');

moment("2017-08-19T16:00:00.000Z").format('YYYY-MM-DD HH:mm:ss');

  1. 确定下时区

  2. 转化成一样的时间格式进行比较,如都转化成UTC时间

没有错,存到数据库里面是标准时间是,我国东八区,所以错了八小时

以上是 【mysql】mysql数据库里面date的数据取出来格式和时间都不对了 的全部内容, 来源链接: utcz.com/a/75763.html

回到顶部