收藏
回答

云函数从数据库获得的时间错误?

数据库有个时间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 个回答

  • brave
    brave
    2020-07-30

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

    2020-07-30
    有用 2
    回复 3
    • 唐同学
      唐同学
      2020-07-31
      你好


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


      这个环境变量在什么位置?我找没找到。
      2020-07-31
      回复
    • brave
      brave
      2020-07-31回复唐同学
      点云开发控制台里,云函数→配置→环境变量
      2020-07-31
      回复
    • 唐同学
      唐同学
      2020-07-31
      谢谢,我找不到“配置”,但在版本管理中有入户设置变量,谢谢。
      2020-07-31
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-07-31
    return new Date(thisTime).toLocaleString('zh-CN', {hour12: false, timeZone: 'Asia/Shanghai'})
    

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

    2020-07-31
    有用 1
    回复 1
    • 唐同学
      唐同学
      2020-07-31
      你好
      云函数中的时区为 UTC+0,不是 UTC+8,在云函数中使用时间时需特别注意。如果需要默认 UTC+8,可以配置函数的环境变量,设置 TZ 为 Asia/Shanghai。
      这个环境变量在什么位置?我找没找到。
      2020-07-31
      回复
登录 后发表内容
问题标签