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 相关文章推荐
js表格分页实现代码
Sep 18 Javascript
js调用css属性写法
Sep 21 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
Oct 27 Javascript
Bootstrap表单简单实现代码
Mar 06 Javascript
JavaScript 中的 this 工作原理
Jun 20 Javascript
layer弹出层全屏及关闭方法
Aug 17 Javascript
小程序实现搜索框功能
Mar 26 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
Jul 28 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常用函数小技巧
2008/09/11 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php模拟post提交数据的方法
2015/02/12 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
php无限极分类实现方法分析
2019/07/04 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
JavaScript 常用函数
2009/12/30 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
Python爬取网页信息的示例
2020/09/24 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
三年级音乐教学反思
2014/01/28 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
2015年大学生实习评语
2015/03/25 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript