这篇文章主要给大家介绍了关于node.js中sequelize时区的配置方法,文中先对时区的基础概念进行了简单介绍,然后通过示例代码详细介绍了sequelize时区的配置方法,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
基本概念
我们先来介绍一些可能当年在地理课上学习过的基本概念。
说起来,时间真是一个神奇的东西。以前人们通过观察太阳的位置来决定时间(比如:使用日晷),这就使得不同经纬度的地区时间是不一样的。后来人们进一步规定以子午线为中心,向东西两侧延伸,每 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'});
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在nodejs中如何使用form-data格式传输文件
使用vue-cli如何配置接口代理
在vue中有关文件夹结构配置
在vue中有关如何实现单页面骨架屏
以上就是在node.js中有关sequelize时区配置方法有哪些?的详细内容。