Node.js中sequelize时区的配置方法


Posted in Javascript onDecember 10, 2017

基本概念

我们先来介绍一些可能当年在地理课上学习过的基本概念。

说起来,时间真是一个神奇的东西。以前人们通过观察太阳的位置来决定时间(比如:使用日晷),这就使得不同经纬度的地区时间是不一样的。后来人们进一步规定以子午线为中心,向东西两侧延伸,每 15 度划分一个时区,刚好是 24 个时区。然后因为一天有 24 小时,地球自转一圈是 360 度,360 度 / 24 小时 = 15 度/小时,所以每差一个时区,时间就差一个小时。

最开始的标准时间(子午线中心处的时间)是英国伦敦的皇家格林威治天文台的标准时间(因为它刚好在本初子午线经过的地方),这就是我们常说的 GMT(Greenwich Mean Time)。然后其他各个时区根据标准时间确定自己的时间,往东的时区时间晚(表示为 GMT+hh:mm)、往西的时区时间早(表示为 GMT-hh:mm)。比如,中国标准时间是东八区,我们的时间就总是比 GMT 时间晚 8 小时,他们在凌晨 1 点,我们已经是早晨 9 点了。

但是 GMT 其实是根据地球自转、公转计算的(太阳每天经过英国伦敦皇家格林威治天文台的时间为中午 12 点),不是非常准确,于是后面提出了根据原子钟计算的标准时间 UTC(Coordinated Universal Time)。

一般情况下,GMT 和 UTC 可以互换,但是实际上,GMT 是一个时区,而 UTC 是一个时间标准。

下面开始本文的正文:

Node.js sequelize时区配置

sequelize 默认情况下,保存日期时会转换成 +00:00时区,例如

提交数据:

time=2017-07-17 16:52:12

数据库中会保存成

2017-07-17 08:52:12

解决方式:

sequelize时配置时区

timezone: '+08:00'

如:

const sequelize = new Sequelize(config.database, config.username, config.password, {
 host: config.host,
 port: config.port,
 dialect: 'mysql',
 pool: {
 max: 5,
 min: 0,
 idle: 10000
 },
 timezone: '+08:00'
});

PS:链接的所有数据库(读和写)都要设置合适的时区,否则会出现时间写入不一致的情况

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery插件 cluetip 关键词注释
Jan 12 Javascript
javascript window.opener的用法分析
Apr 07 Javascript
JqGrid web打印实现代码
May 31 Javascript
读JavaScript DOM编程艺术笔记
Nov 15 Javascript
web前端开发upload上传头像js示例代码
Oct 22 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
jQuery表单设置值的方法
Jun 30 jQuery
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
浅谈vue引入css,less遇到的坑和解决方法
Jan 20 Javascript
在vue项目中引用Iview的方法
Sep 14 Javascript
教你使用vscode 搭建react-native开发环境
Jul 07 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 #Javascript
关于react中组件通信的几种方式详解
Dec 10 #Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 #Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 #Javascript
利用ES6实现单例模式及其应用详解
Dec 09 #Javascript
利用node.js如何创建子进程详解
Dec 09 #Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 #Javascript
You might like
php中session使用示例
2014/03/29 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php中http与https跨域共享session的解决方法
2014/12/20 PHP
php实现处理输入转义字符的代码
2015/11/08 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
jQuery中调用WebService方法小结
2011/03/28 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python中List.index()方法的使用教程
2015/05/20 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
公益广告语集锦
2014/03/13 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
法人代表证明书范本
2015/06/18 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
python实战之用emoji表情生成文字
2021/05/08 Python