這篇文章主要給大家介紹了關於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' });
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
#以上是在Node.js中有關sequelize時區配置方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!