node请求mysql数据库,时间差八个小时问题

问题描述
1.node层查询列表中,前端处理时间显示没问题
2.node导出excel中,在node层中用js处理时间,差八个小时,因为时区问题
存在时差问题详解

解决方案

1.更改sequelize中的配置,更改后在node层进行js方式处理,显示没有问题,需要注意的是,列表中查询的时间也需要处理

const Sequelize = require('sequelize');

const sequelize = new Sequelize('dbname', 'username', 'password', {
	host: 'localhost', 
	port: '3306',
	dialect: 'mysql',
	operatorsAliases: false,
	dialectOptions: {
	    charset: 'utf8mb4',
	    collate: 'utf8mb4_unicode_ci',
	    supportBigNumbers: true,
	    bigNumberStrings: true
	},
	pool: {
	    max: 5,
	    min: 0,
	    acquire: 30000,
	    idle: 10000
	},
	timezone: '+08:00' //东八时区
});

2.利用moment插件进行处理

// 下载
npm install moment --save

// 使用
const moment = require('moment');
moment(new Date(time)).utcOffset("+00:00").format('YYYY-MM-DD HH:mm:ss')
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值