云函数从数据库获得的时间错误?
发布于 6 年前 作者 jielai 8983 次浏览 来自 问答

数据库有个时间currtentTime,是通过db.serverDate()保存的。

问题如图。

记录时间明明是Thu Jul 30 2020 22:56:40 GMT+0800 (中国标准时间),取出就变成了2020-07-30T14:56:40.618Z。

使用getHours(),获得的就是14。

其他没有错,就是小时数不正确,不知道什么原因,请指教。

const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event, context) => {

  const db = cloud.database()
  const query = await db.collection('support').doc(event.chatId).get()
  if (query) {
    let thisTime = query.data.chat[0].currtentTime
    return thisTime
  }
}

2 回复
return new Date(thisTime).toLocaleString('zh-CN', {hour12: false, timeZone: 'Asia/Shanghai'})

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

云函数中的时区为 UTC+0,不是 UTC+8,在云函数中使用时间时需特别注意。如果需要默认 UTC+8,可以配置函数的环境变量,设置 TZ 为 Asia/Shanghai

回到顶部