我用的 mongoose ,這是我定義的 Schema :const report = mongoose.Schema({
datetime: Date,
username: String,
detail: mongoose.Schema.Types.Mixed})這是我存入的數(shù)據(jù):let params = {
username: 'testadmin',
detail: '23123',
datetime: new Date('December 17, 1995 03:24:00')
}存進(jìn) mongodb 中后存的時間會早八個小時:‘95年12月17日凌晨3點(diǎn)’變成了‘12月16日晚上7點(diǎn),時區(qū)搞錯了,,,請問大家這種情況應(yīng)該怎么辦?mongodb 或者 mongoose 有相應(yīng)的處理方法嗎?小弟這里先謝過!
2 回答

肥皂起泡泡
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個贊
因?yàn)?mongoose 和 sequelize 開始的時候,沒有考慮時區(qū),ORM 之后就搞錯時區(qū)了。解決方法去看看最新版本是否解決,如果還未解決可以試試把問題發(fā)給作者,然后只能自己在應(yīng)用層預(yù)處理,寫入 +8 小時,讀出 -8 。

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個贊
原來mongodb中存的是UTC時間,全球統(tǒng)一,,,那就直接存,再存之前不做操作,讀取出來后把時間new Date(report.datetime).toLocaleString(),調(diào)用js自帶的Date().toLocaleString()就行了
- 2 回答
- 0 關(guān)注
- 1866 瀏覽
添加回答
舉報(bào)
0/150
提交
取消