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 相关文章推荐
利用腾讯的ip地址库做ip物理地址定位
Jul 24 Javascript
JavaScript实用技巧(一)
Aug 16 Javascript
浅析jQuery的链式调用之each函数
Dec 03 Javascript
node.js中的path.normalize方法使用说明
Dec 08 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
AngularJs表单验证实例详解
May 30 Javascript
jQuery事件_动力节点Java学院整理
Jul 05 jQuery
Vue实现点击后文字变色切换方法
Feb 11 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
代码详解javascript模块加载器
Mar 04 Javascript
简单的React SSR服务器渲染实现
Dec 11 Javascript
vue项目中锚点定位替代方式
Nov 13 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
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
js DOM 元素ID就是全局变量
2012/09/20 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Python登录系统界面实现详解
2019/06/25 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
pytorch中的inference使用实例
2020/02/20 Python
Python爬虫教程知识点总结
2020/10/19 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
GWebs公司笔试题
2012/05/04 面试题
法学专业本科生自荐信范文
2013/12/17 职场文书
毕业生的自我评价分享
2013/12/18 职场文书
应届本科生推荐信范文
2013/12/25 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
新闻通讯稿范文
2015/07/22 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
Golang ort 中的sortInts 方法
2022/04/24 Golang