云函数设置TZ 为 Asia/Shanghai无效的解决方案(云函数时区问题)
发布于 2 年前 作者 xiuying01 2906 次浏览 来自 分享

官方文档表明Node10以及Node15+版本可用环境变量:TZ 为 Asia/Shanghai,方式获取北京时间。其他Node版本需要借助第三方包,现给出第三方包方案。

云函数:
//1.安装 moment-timezone
npm install moment-timezone
//2.编写云函数
const cloud = require('wx-server-sdk')
const moment = require("moment-timezone")

exports.main = async (event, context) => {
    let formatTime=moment().tz("Asia/Shanghai").format()//北京时间 2022-01-24T14:14:50+08:00
    let hour=moment().tz("Asia/Shanghai").get('hour')     //获取北京时间小时数
    let minute=moment().tz("Asia/Shanghai").get('minute') //获取北京时间分数
    let second=moment().tz("Asia/Shanghai").get('second') //获取北京时间秒数
      return formatTime //result:{} 小程序中以result为载体
    }
//构建完毕重新部署上传云函数

js:
//调用云函数
    wx.cloud.callFunction({
      name: "云函数名称",
    }).then(res => {
      //res  是云函数调用成功后return出来的值
      console.log('云函数调用', res)
    }).catch(res => {
      console.log(res)
    })

回到顶部