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 相关文章推荐
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
Jan 14 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
May 11 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
Feb 14 Javascript
vue-dialog的弹出层组件
May 25 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
Apr 18 Javascript
vue路由切换之淡入淡出的简单实现
Oct 31 Javascript
element中el-container容器与div布局区分详解
May 13 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
Sep 21 Javascript
vue3.0搭配.net core实现文件上传组件
Oct 29 Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 06 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 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时间戳与日期之间转换的实例介绍
2013/04/19 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
浅析php单例模式
2014/11/25 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
Laravel5.1 框架响应基本用法实例分析
2020/01/04 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
Javascript调试工具(下载)
2007/01/09 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
js获取页面description的方法
2015/05/21 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
jQuery实现购物车表单自动结算效果实例
2015/08/10 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
django1.11.1 models 数据库同步方法
2018/05/30 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python之多进程与多线程的使用
2021/02/23 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
班主任自我评价范文
2015/03/11 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技