欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB存儲時間時差問題的解決方法

 更新時間:2018年09月11日 09:49:56   作者:levinhax  
這篇文章主要給大家介紹了關于MongoDB存儲時間時差問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mongodb具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

MongoDB存儲時間類型數(shù)據(jù)時,都是先轉換為UTC時間,然后存儲到數(shù)據(jù)庫中,當我們取出存儲的時間時,就會出現(xiàn)時差的問題。

比如我們用的北京時間,讀取到的數(shù)值就會看到比當前時間少了8個小時,難道說我們在每次讀取的時候都要單獨處理一下時間嗎,這就比較麻煩。其實,我們可以在存儲的時候進行相應的處理,只需使用getTimezoneOffset()toISOString()函數(shù)。

需要了解的概念:

格林威治時間

格林威治子午線上的地方時,或零時區(qū)(中時區(qū))的區(qū)時叫做格林威治時間,也叫世界時。(更多詳細的概念不說了,這里我們不需要。) 比如我們中國是東八區(qū),北京時間是(GMT+08:00)

獲得本地與格林威治時間的時差:new Date().getTimezoneOffset(),單位為分鐘。

已知格林威治時間,換算本地正確時間

本地時間 = 格林威治時間 - 時差

已知本地時間,換算對應格林威治時間:

格林威治時間 = 本地時間 + 時差

已知本地時間,換算其他時區(qū)的時間

因為時區(qū)間的差異是以小時為單位的。所以算出0時區(qū)的時間后,再減去或加上相應的小時即可(東N區(qū)便+N小時,西N區(qū)便-N小時)。 為了方便計算,東N區(qū)記做正數(shù),西N區(qū)記做負數(shù),即:

目標時區(qū)時間 = 本地時間 + 時差 + 時區(qū)間隔

getTimezoneOffset函數(shù):返回此地區(qū)的時差(當?shù)貢r間與GMT格林威治標準時間的地區(qū)時差),單位為分鐘。

<script>
 // 我們是東八區(qū)
 var d = new Date();
 var tz = d.getTimezoneOffset();
 console.log(tz); // -480
</script>

toISOString()函數(shù):使用ISO標準將 Date 對象轉換為字符串。

該標準稱為 ISO-8601 ,格式為: YYYY-MM-DDTHH:mm:ss.sssZ。

語法

Date.toISOString()

返回值

類型 描述
String ISO 標準格式的時間與日期

封裝時間轉換函數(shù)

localDate(v) {
 const d = new Date(v || Date.now());
 d.setMinutes(d.getMinutes() - d.getTimezoneOffset());
 return d.toISOString();
},

我們在存儲時間的時候調用localDate()這個函數(shù)就可以了,無論你處在哪個時區(qū)結果顯示都和當?shù)貢r間一樣。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Spark整合Mongodb的方法

    Spark整合Mongodb的方法

    Spark 是一個通用,快速,適用于大規(guī)模數(shù)據(jù)的處理引擎。接下來通過本文給大家分享Spark整合Mongodb的方法,感興趣的朋友一起看看吧
    2017-11-11
  • mongodb 中rs.stauts()命令參數(shù)解析

    mongodb 中rs.stauts()命令參數(shù)解析

    MongoDB的rs.status()命令是查看副本集狀態(tài)的重要工具,它可以展示副本集中各個成員的角色、健康狀態(tài)、同步進度等關鍵信息,本文介紹mongodb 中rs.stauts()命令參數(shù)解析,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 初識NoSQL NoSql數(shù)據(jù)庫入門 NoSql數(shù)據(jù)庫基礎知識

    初識NoSQL NoSql數(shù)據(jù)庫入門 NoSql數(shù)據(jù)庫基礎知識

    大家有沒有聽說過“NoSQL”呢?大家可能會誤以為是“No!SQL”的縮寫,但實際上,它是“Not Only SQL”的縮寫。它的意義是:適用關系型數(shù)據(jù)庫的時候就使用關系型數(shù)據(jù)庫,不適用的時候也沒有必要非使用關系型數(shù)據(jù)庫不可,可以考慮使用更加合適的數(shù)據(jù)存儲。
    2014-08-08
  • MongoDB高效讀寫海量數(shù)據(jù)的方法

    MongoDB高效讀寫海量數(shù)據(jù)的方法

    這篇文章介紹了MongoDB高效讀寫海量數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • MongoDB憑什么躋身數(shù)據(jù)庫排行前五

    MongoDB憑什么躋身數(shù)據(jù)庫排行前五

    MongoDB以比去年同期超出65.96分的成績繼續(xù)雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名全榜第二
    2019-06-06
  • MongoDB性能優(yōu)化及監(jiān)控

    MongoDB性能優(yōu)化及監(jiān)控

    MongoDB 是一個基于分布式文件存儲的數(shù)據(jù)庫。接下拉通過本文給大家分享MongoDB性能優(yōu)化及監(jiān)控,本文介紹的非常詳細,非常具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-02-02
  • MongoDB使用$addToSet向數(shù)組中添加元素的操作代碼

    MongoDB使用$addToSet向數(shù)組中添加元素的操作代碼

    使用方法$addToSet, 向數(shù)組中添加不存在的元素,如果元素已經(jīng)存在于目標數(shù)組當中,則使用$addToSet不會更新當前文檔,本文給大家介紹了MongoDB使用$addToSet向數(shù)組中添加元素的操作代碼,感興趣的小伙伴跟著小編一起來看看吧
    2024-06-06
  • MongoDB中優(yōu)雅刪除大量數(shù)據(jù)的三種方式

    MongoDB中優(yōu)雅刪除大量數(shù)據(jù)的三種方式

    最近接到一個任務,線上的mongodb積累了大量的無用數(shù)據(jù),導致宕機,現(xiàn)在對里面的數(shù)據(jù)進行批量刪除,所以這篇文章主要給大家介紹了關于MongoDB中優(yōu)雅刪除大量數(shù)據(jù)的三種方式,需要的朋友可以參考下
    2021-10-10
  • Mongodb 如何將時間戳轉換為年月日日期

    Mongodb 如何將時間戳轉換為年月日日期

    這篇文章主要介紹了Mongodb 如何將時間戳轉換為年月日日期,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • MongoDB集合中的文檔管理

    MongoDB集合中的文檔管理

    這篇文章介紹了MongoDB集合中文檔的管理方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論