當我嘗試使用貓鼬在mongodb中存儲某些東西時,我遇到了一個時區問題。錯誤的時區nodejs mongoose
我創造了這樣一個模式:
var userSchema = new mongoose.Schema({
name: {
type: String
},
created_at: {
type: Date
}
});
它找到一個日期範圍($ GTE和$ LTE)的用戶是在我的代碼很重要。
user.created_at = new Date();
在我的數據庫與此用戶錯誤的時區創建:
問題創建用戶時,會發生。
我曾試圖用 「moment-timezone.js」,如:
user.created_at = moment().tz("America/Belem").format();
與時區仍然在MongoDB中是相同的,但是當我控制檯日誌中的問題。 「那一刻()TZ(」 美洲/貝倫「)。 format()「我在數據庫中獲得了正確的時區,但它出錯了,所以我認爲問題是使用mongoose鍵入Date,,因爲它節省了UTC時間,但我想在當地時間。
我試圖使用類型字符串,而不是類型日期在我的架構,我得到了正確的時區與「時間timezone.js」,但我的查詢$ gte和$ lte找到用戶沒有工作了。
在這個討論中here問題是一樣的,但他們說服務器時區更改爲UTC,但他們沒有說明如何去做。我試圖this來改變服務器的時區,但它不適用於我(我使用的是Windows 10),我認爲這不是正確的道路。
請幫我解決這個問題。告訴我解決這個問題的最好方法。
謝謝。
請看看這個。您應該始終嘗試使用UTC存儲時間。 http://stackoverflow.com/a/40425115/2683814 – Veeram
首先感謝您的回覆。我試過你的解決方案,但沒有奏效。 :'( –
你在db中看到了什麼?現在的日期如何存儲? – Veeram