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 相关文章推荐
分享一个asp.net pager分页控件
Jan 04 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
Jun 27 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
javascript获取select标签选中的值
Jun 04 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
Angular2 http jsonp的实例详解
Aug 31 Javascript
详解从Vue-router到html5的pushState
Jul 21 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
JavaScript实现下拉列表
Jan 20 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
SONY SRF-M100的电路分析
2021/03/02 无线电
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
PHP静态成员变量
2017/02/14 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
Javascript模块模式分析
2008/05/16 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
jQuery 连续列表实现代码
2009/12/21 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
2018/06/04 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
python实现简单井字棋游戏
2020/03/04 Python
python中round函数保留两位小数的方法
2020/12/04 Python
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
电子信息专业应届生自荐信
2014/06/04 职场文书
运动会班级口号
2014/06/09 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
抢劫罪辩护词
2015/05/21 职场文书
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏