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 相关文章推荐
window.location的重写及判断location是否被重写
Sep 04 Javascript
JavaScript实现网页截图功能
Oct 16 Javascript
jquery使用正则表达式验证email地址的方法
Jan 22 Javascript
微信小程序 开发工具快捷键整理
Oct 31 Javascript
BootStrap实现轮播图效果(收藏)
Dec 30 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
Jul 14 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
Nov 27 Javascript
webpack4简单入门实例
Sep 06 Javascript
CSS3 动画卡顿性能优化的完美解决方案
Sep 20 Javascript
JS数组去重的6种方法完整实例
Dec 08 Javascript
JS实现简单随机3D骰子
Oct 24 Javascript
vue使用nprogress实现进度条
Dec 09 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
php 图片上添加透明度渐变的效果
2009/06/29 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
基于jQuery的获取标签名的代码
2012/07/16 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
javascript判断office版本示例
2014/04/11 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
2014年消防工作实施方案
2014/02/20 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
会计学毕业生求职信
2014/06/25 职场文书
导游词300字
2015/02/13 职场文书
运动会主持人开幕词
2016/03/04 职场文书
使用refresh_token实现无感刷新页面
2022/04/26 Javascript