收藏
回答

为什么云数据库Date类型插入后时刻始终为8时?

let date = new Date(event.date)
date.setHours(0)
date.setMinutes(0)
date.setSeconds(0)
 
console.log(date) // 2019-10-26T00:00:00.000Z
 
return await db.collection('days').add({
  data: {
    _openid: event.userInfo.openId,
    title: event.title,
    type: 1,
    date: date
  }
})

想要往数据库中插入日期 0点的时刻,结果每次插入后都显示8时(如下),请问时怎莫回事?


  • Sat Oct 26 2019 08:00:00 GMT+0800 (中国标准时间)




回答关注问题邀请回答
收藏

1 个回答

  • 金煜峰
    金煜峰
    2019-10-27

    传入的event.date是什么?

    date打印出来是2019-10-26T00:00:00.000Z,.000Z表示世界标准时(UTC)

    UTC的0点,北京时间(东八区)就是8点

    2019-10-27
    有用 1
    回复 4
    • V
      V
      2019-10-27
      如何设置为东八区的0点?
      2019-10-27
      回复
    • 金煜峰
      金煜峰
      2019-10-27回复V
      event.date里面是不是有000.Z?我试了一下直接new Date()是不会这样的
      2019-10-27
      回复
    • 金煜峰
      金煜峰
      2019-10-27回复金煜峰
      实在不行就date.setTime(date.getTime()-8*60*60*1000);手动再减去8小时
      2019-10-27
      回复
    • V
      V
      2019-10-27回复金煜峰
      直接new Date()是不会这样的,一存到云数据库中就变成东八区了
      2019-10-27
      回复
登录 后发表内容
问题标签