React 前端导航

egg mysql 查询 Date 类型数据时区不对,时间减了 8 个小时

egg mysql 查询 Date 类型数据时区不对,时间减了 8 个小时

背景

日志表里存储了写入时间,时间存的是 Date 类型的数据,直接 select 出来的数据比存储的实际数据要少 8 个小时,时区不对。

数据库格式:2018-03-12 14:46:31, 通过egg-mysql查询出来的格式:2018-03-12T06:46:31.000Z, 自动加上了时区而且还是错误的时区。

解决办法

修改 egg mysql配置,增加 dateStrings: true 配置,示例如下:

// config/config.${env}.js
exports.mysql = {
  // 单数据库信息配置
  client: {
    // host
    host: 'mysql.com',
    // 端口号
    port: '3306',
    // 用户名
    user: 'test_user',
    // 密码
    password: 'test_password',
    // 数据库名
    database: 'test',
    //时间按字符串读取
    dateStrings: true,
  },
  // 是否加载到 app 上,默认开启
  app: true,
  // 是否加载到 agent 上,默认关闭
  agent: false,
};

dateStrins 的作用是强制日期格式(TIMESTAMP, DATETIME, DATE)使用JavaScript日期对象,默认配置的值为 false。

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/40
想做或者在做副业的朋友欢迎加微信交流:farmerlzj,公众号:生财空间站。

#node#egg#mysql

相关推荐

NodeJs发起https请求报错:certificate has expired

在egg中发起https请求时提示证书过期错误(certificate has expired)问题记录

Node定时任务怎么做

linux有crontab定时任务,那么在Node中,定时任务该如何实现?