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限制输入字数,并提示剩余字数实现代码
Dec 24 Javascript
JQuery设置文本框和密码框得到焦点时的样式
Aug 30 Javascript
Javascript动态创建div的方法
Feb 09 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
AngularJS控制器controller正确的通信的方法
Jan 25 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
vue.js中mint-ui框架的使用方法
May 12 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
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和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
webpack打包react项目的实现方法
2018/06/21 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
python 录制系统声音的示例
2020/12/21 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
台湾线上百货零售购物平台:friDay购物
2017/08/18 全球购物
校班主任推荐信范文
2013/12/03 职场文书
高中语文课后反思
2014/04/27 职场文书
管理建议书范文
2014/05/13 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书