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 相关文章推荐
showModalDialog 和 showModelessDialog
Jan 22 Javascript
input按钮的事件处理大全
Dec 10 Javascript
JS target与currentTarget区别说明
Aug 28 Javascript
利用jquery的获取JS文件中的字符串内容
Feb 14 Javascript
javascript返回顶部效果(自写代码)
Jan 06 Javascript
JavaScript中的console.log()函数详细介绍
Dec 29 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
Sep 16 Javascript
javascript实现动态标签云
Oct 16 Javascript
JavaScript实现左右下拉框动态增删示例
Mar 09 Javascript
js分页之前端代码实现和请求处理
Aug 04 Javascript
JS新手入门数组处理的实用方法汇总
Apr 07 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
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
js保存当前路径(cookies记录)
2010/12/14 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python 递归函数详解及实例
2016/12/27 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
opencv与numpy的图像基本操作
2019/03/08 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
python实现邮件发送功能
2019/08/10 Python
python爬虫 正则表达式解析
2019/09/28 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
python利用opencv保存、播放视频
2020/11/02 Python
python里glob模块知识点总结
2021/01/05 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
MIS软件工程师的面试题
2016/04/22 面试题
党员干部公开承诺书
2014/03/26 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
新郎婚礼致辞
2015/07/27 职场文书
简单聊聊Golang中defer预计算参数
2022/03/25 Golang