收藏
回答

云函数的时间跟当前时间相差8小时

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 客户端 wxa497067a61fb10a0 2.2.4


请看上图问题


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

5 个回答

  • 邓坤力
    邓坤力
    2018-09-20

    这几个时间都是什么时间?可以提供下复现代码吗?

    2018-09-20
    有用
    回复 2
    • Jayson
      Jayson
      2018-09-21





      getTime和getClienTime是一样的代码如下:


      function (format,str){
      if(str){
      var date = new Date(str);
         }
      else{
      date = new Date();
         }

      var Y = date.getFullYear() + '-';
         var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
         var D = date.getDate()<10? '0'+(date.getDate()):date.getDate();
         var hh = (parseInt(date.getHours())>9?date.getHours():'0'+date.getHours()) + ':';
         var mm = (parseInt(date.getMinutes())>9?date.getMinutes():"0"+date.getMinutes()) + ':';
         var mmEnd =(parseInt(date.getMinutes())>9?date.getMinutes():"0"+date.getMinutes());
         var ss = parseInt(date.getSeconds())>9?date.getSeconds():'0'+date.getSeconds();

         if(format) {
      if (format == 'Y-M-D hh:mm:ss') {
      return Y + M + D + " " + hh + mm + ss;
             }
      else if (format == 'Y-M-D hh:mm') {
      return Y + M + D + " " + hh + mmEnd;
             }
      else {
      return Y + M + D
      }
      }
      else {
      return Y + M + D + " " + hh + mm + ss;
         }
      }



      2018-09-21
      回复
    • 邓坤力
      邓坤力
      2018-09-26回复Jayson

      所以观察到是小程序端的时间错了还是云函数的时间错了呢?手机上的时钟设置是否有问题呢?

      2018-09-26
      回复
  • 喝着橙汁唱五环
    喝着橙汁唱五环
    04-12

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/aggregate/AggregateCommand.dateToString.html

    你看下是不是在查询的时候没有设置timezone,我之前遇到的情况是,数据库存储的时间是对的,但是通过云函数去查询记录的时候,获取到的时间就少了8个小时,后来看官方文档需要设置一下timezone,设置一下,就好啦

    const $ = db.command.aggregate
    db
      .collection('students')
      .aggregate()
      .project({
        _id: 0,
        formatDate: $.dateToString({
          date: '$date',
          format: '%H:%M:%S',
          timezone: 'Asia/Shanghai'
        })
      })
      .end()
    
    04-12
    有用 1
    回复
  • python
    python
    01-18

    遇到同样问题,云函数设置TZ-Asian/Shanghai参数也无法解决。感觉非常无奈

    在开发端写入的时间没有问题,

    在云数据库看到的时间,也没有问题,

    通过云函数查询返回的时间,就是跟当前时间差8个小时。

    01-18
    有用
    回复
  • Jayson
    Jayson
    2018-09-26

    手机端时间没问题是云函数的时间有问题

    2018-09-26
    有用
    回复
  • 祺爸💎
    祺爸💎
    2018-09-20

    8小时的话应该是时区的问题

    2018-09-20
    有用
    回复 1
    • Jayson
      Jayson
      2018-09-20

      难道不是北京时间?

      2018-09-20
      回复
登录 后发表内容