麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

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

2020-03-14 12:49:37
字體:
來源:轉載
供稿:網友

前言

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

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

需要了解的概念:

格林威治時間

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

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

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

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

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

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

已知本地時間,換算其他時區的時間

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

目標時區時間 = 本地時間 + 時差 + 時區間隔

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

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

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

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

語法

Date.toISOString()

返回值

 

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

 

封裝時間轉換函數

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

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

總結

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


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一级一级 | 一区二区久久久久草草 | 蜜桃网站在线观看 | 黄在线| 精品一区二区在线观看视频 | 久久丝袜脚交足黄网站免费 | 成人一区二区三区在线 | 久久宗合色 | 久久色在线 | 国产一区二区三区视频在线观看 | 欧美a黄 | 中文字幕免费在线观看视频 | 精选久久 | 亚洲成人激情av | 精品国产一区二区三区久久久狼牙 | 国产亚洲自拍一区 | 免费国产一级特黄久久 | 久久国产一二区 | 麻豆一二区 | 成人一级视频 | 欧美1—12sexvideos | 中文字幕精品一区久久久久 | 欧美精品电影一区二区 | 欧美aⅴ在线观看 | 特级西西444www大精品视频免费看 | 中文字幕四区 | 1区2区3区国产| 久久大陆 | 少妇一级淫片免费放播放 | 黄色免费在线电影 | 国产刺激高潮av | 欧美a级一区二区 | 久久亚洲美女视频 | 久久精精品 | 成人毛片100部免费观看 | 国产成人精品午夜视频' | 少妇色诱麻豆色哟哟 | 精品久久久久久久久久久久久 | 日韩欧美电影一区二区三区 | 99热久草 | 成人视屏在线 |