javascript - JS new Date() 保存到 mongodb 中会早8个小时,我们这里是东八区,mongodb 保存的是格林尼治时间

查看:603
本文介绍了javascript - JS new Date() 保存到 mongodb 中会早8个小时,我们这里是东八区,mongodb 保存的是格林尼治时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我用的 mongoose ,
这是我定义的 Schema :

const report = mongoose.Schema({
    datetime: Date,
    username: String,
    detail: mongoose.Schema.Types.Mixed
})

这是我存入的数据:

let params = {
    username: 'testadmin',
    detail: '23123',
    datetime: new Date('December 17, 1995 03:24:00')
}

存进 mongodb 中后存的时间会早八个小时:

‘95年12月17日凌晨3点’变成了‘12月16日晚上7点,时区搞错了,,,请问大家这种情况应该怎么办?mongodb 或者 mongoose 有相应的处理方法吗?

小弟这里先谢过!

解决方案

原来mongodb中存的是UTC时间,全球统一,,,那就直接存,再存之前不做操作,读取出来后把时间new Date(report.datetime).toLocaleString(),调用js自带的Date().toLocaleString()就行了

这篇关于javascript - JS new Date() 保存到 mongodb 中会早8个小时,我们这里是东八区,mongodb 保存的是格林尼治时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆