2014-07-09 63 views
0

我想保存在MongoDB中特定格式的日期,但它節省了day-1JavaScript的日期前一天即一天 - 1

示例 -

db.test.insert({name: "test1", dob: new Date(1986, 11, 30)}) 

但它保存日期29 December 1986,讓我知道我做錯了什麼。

另外我也在mongodb上試過,但也保存爲day - 1,即前一天。

+2

可能是因爲你所在的時區?那麼它對我來說工作得很好。 – freakish

+0

@freakish我這麼認爲,但即使在我的本地系統上,它也提供相同的..只是確認我沒有在這裏做一些愚蠢的事 – Trialcoder

+1

提交作爲UTC的正確格式是新日期(「1986-11-30」)。你在做什麼創建了本地時區日期。 –

回答

2

時區將永遠是一個問題。

var dob = new Date(); 
dob.setUTCFullYear(1986); 
dob.setUTCMonth(11); 
dob.setUTCDate(30); 
dob.setUTCHours(12); // just to be extra safe :p 
db.test.insert({name:"test1", dob:dob}); 
+0

爲什麼12'setUTCHours'?考慮作爲一個安全的價值,根據評論 – Trialcoder

+0

我真的不知道XD之前我開始做的事情,因爲我認爲UTC的中午是每個人都在同一天的一次,但是後來有人告訴我時區偏移13和14是一件事情,所以...可以隨意忽略它。 –

+0

哈哈,但我不會無視...會跟着你的腳印;) – Trialcoder