Node.js中sequelize時(shí)區(qū)的配置方法
基本概念
我們先來介紹一些可能當(dāng)年在地理課上學(xué)習(xí)過的基本概念。
說起來,時(shí)間真是一個(gè)神奇的東西。以前人們通過觀察太陽的位置來決定時(shí)間(比如:使用日晷),這就使得不同經(jīng)緯度的地區(qū)時(shí)間是不一樣的。后來人們進(jìn)一步規(guī)定以子午線為中心,向東西兩側(cè)延伸,每 15 度劃分一個(gè)時(shí)區(qū),剛好是 24 個(gè)時(shí)區(qū)。然后因?yàn)橐惶煊?24 小時(shí),地球自轉(zhuǎn)一圈是 360 度,360 度 / 24 小時(shí) = 15 度/小時(shí),所以每差一個(gè)時(shí)區(qū),時(shí)間就差一個(gè)小時(shí)。
最開始的標(biāo)準(zhǔn)時(shí)間(子午線中心處的時(shí)間)是英國倫敦的皇家格林威治天文臺的標(biāo)準(zhǔn)時(shí)間(因?yàn)樗鼊偤迷诒境踝游缇€經(jīng)過的地方),這就是我們常說的 GMT(Greenwich Mean Time)。然后其他各個(gè)時(shí)區(qū)根據(jù)標(biāo)準(zhǔn)時(shí)間確定自己的時(shí)間,往東的時(shí)區(qū)時(shí)間晚(表示為 GMT+hh:mm)、往西的時(shí)區(qū)時(shí)間早(表示為 GMT-hh:mm)。比如,中國標(biāo)準(zhǔn)時(shí)間是東八區(qū),我們的時(shí)間就總是比 GMT 時(shí)間晚 8 小時(shí),他們在凌晨 1 點(diǎn),我們已經(jīng)是早晨 9 點(diǎn)了。
但是 GMT 其實(shí)是根據(jù)地球自轉(zhuǎn)、公轉(zhuǎn)計(jì)算的(太陽每天經(jīng)過英國倫敦皇家格林威治天文臺的時(shí)間為中午 12 點(diǎn)),不是非常準(zhǔn)確,于是后面提出了根據(jù)原子鐘計(jì)算的標(biāo)準(zhǔn)時(shí)間 UTC(Coordinated Universal Time)。
一般情況下,GMT 和 UTC 可以互換,但是實(shí)際上,GMT 是一個(gè)時(shí)區(qū),而 UTC 是一個(gè)時(shí)間標(biāo)準(zhǔn)。
下面開始本文的正文:
Node.js sequelize時(shí)區(qū)配置
sequelize 默認(rèn)情況下,保存日期時(shí)會轉(zhuǎn)換成 +00:00時(shí)區(qū),例如
提交數(shù)據(jù):
time=2017-07-17 16:52:12
數(shù)據(jù)庫中會保存成
2017-07-17 08:52:12
解決方式:
sequelize時(shí)配置時(shí)區(qū)
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:鏈接的所有數(shù)據(jù)庫(讀和寫)都要設(shè)置合適的時(shí)區(qū),否則會出現(xiàn)時(shí)間寫入不一致的情況
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Node.js API詳解之 tty功能與用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 tty功能與用法,結(jié)合實(shí)例形式分析了Node.js API中tty的基本功能、用法及終端操作相關(guān)使用技巧,需要的朋友可以參考下2020-04-04nodejs獲取表單數(shù)據(jù)的三種方法實(shí)例
在開發(fā)中經(jīng)常需要獲取form表單的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于nodejs獲取表單數(shù)據(jù)的三種方法,方法分別是form表單傳遞、ajax請求傳遞以及表單序列化,需要的朋友可以參考下2021-06-06Node.js模塊Modules的使用實(shí)戰(zhàn)教程
這篇文章主要介紹了Node.js模塊Modules的使用,模塊就是一個(gè)聲明了裝飾器@Module()的類。裝飾器@Module()提供了元數(shù)據(jù),以便讓Nest組織應(yīng)用程序結(jié)構(gòu)2023-04-04nodejs中實(shí)現(xiàn)sleep功能實(shí)例
這篇文章主要介紹了nodejs中實(shí)現(xiàn)sleep功能實(shí)例,本文講解了sleep功能的開發(fā)過程和使用效果及性能測試,需要的朋友可以參考下2015-03-03