0
我們正在從Mongo數據庫中載入日期。看來Mongo保存UTC中的所有內容,但是當JS創建Date對象(用於顯示此日期)時,它會添加/減去時區偏移量。其結果是,例如:
JavaScript/NodeJS - MongoDB獲取具有偏移量的日期(時區)
- 如果我保存日期「2013年6月20日01:00:00」
- 的日期將於稍後在表單自動完成爲「2013-06 -19 22:00:00「(阿根廷時區UTC-03:00的示例),如果用戶在不更改日期的情況下保存該表單,日期將以錯誤的時間保存。
- 最糟糕的是,下次保存會減少3小時以上,等等!
正如你所看到的,我可以得到不同的日子,我想要保存的日子。 我看到一些類似的情況,但沒有與這種相同的技術,我使用Nodejs,MongoDB和Backbone。現在我在做這樣的事情:
parse: function(response) {
var dateStart = new Date(response.time.start);
var offset = dateStart.getTimezoneOffset() * 60000;
response.time.start = new Date(dateStart.valueOf() + offset);
return response;
}
但它確實難看,我有我每次實例化一個新的日期時間做()
任何人都知道一個好的方法來解決這一問題?
我掙扎着一個類似的問題,但對我來說,技巧是當我使用一個字符串對象,其中momentjs爲我創建它似乎將字段存儲在一個字符串中,而不是ISODate('.....' )格式。如果我使用javascript日期()對象它mongo pics了它是一個日期並將其存儲爲ISODate。所以問題是你如何讓mongo讀一個日期來約會...... –
使用當前實例的'toDate()'函數返回到一個常規的javascript日期實例。 –