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 相关文章推荐
Javascript isArray 数组类型检测函数
Oct 08 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
May 24 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
关于js内存泄露的一个好例子
Dec 09 Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 Javascript
好好了解一下Cookie(强烈推荐)
Jun 14 Javascript
原生JS实现首页进度加载动画
Sep 14 Javascript
angular之ng-template模板加载
Nov 09 Javascript
jQuery实现的滑块滑动导航效果示例
Jun 04 jQuery
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
Nov 05 Javascript
详解vue 组件注册
Nov 20 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
php生成xml简单实例代码
2009/12/16 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
Vue中添加滚动事件设置的方法详解
2020/09/14 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python数据结构之翻转链表
2017/02/25 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python求前n个阶乘的和实例
2020/04/02 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
本科生详细的自我评价
2013/09/19 职场文书
车辆维修工自我评价怎么写
2013/09/20 职场文书
办公室保洁员岗位职责
2013/12/02 职场文书
手机业务员岗位职责
2013/12/13 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
租车协议书范本2014
2014/11/17 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫