收藏
回答

云函数的日期如何比较?

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 工具 wx9cfe22dace4ef7f3 2.3.0

- 当前 Bug 的表现(可附上截图)






- 预期表现

数据表中有一条crttime =  2018.11.06的记录

查询条件是tbl_shop中大于当天日期, 即日志中 2018-10-21 的数据

按理应该返回这条11.06的记录的.但是实际没有得到这条数据


- 复现路径

  1. 建立一条数据, date型.

  2. 输入一条记录. 日期大于今天即可

  3. 建立云函数,  查找表中大于今天的数据

  4. 输出


- 提供一个最简复现 Demo

const _ = db.command

member.month_shop =0

tbl_shop.where({

crttime: _.gte(firstday)

}).get().then(res=>{

console.log(res)

})


最后一次编辑于  2018-10-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • Gavin
    Gavin
    2018-10-21

    同样对此问题存在疑惑

    2018-10-21
    赞同
    回复
  • 半寸灰
    半寸灰
    2018-10-22

    云函数的

    db.serverDate

    new  Data()


    都是UTC时间   也就是和北京时间相差8个小时

    自己取时出来再加8个小时就是北京时间了


    db.serverDate

    在云数据后台显示的是转后的  北京时间   但API获取的还是UTC时间

    2018-10-22
    赞同
    回复 2
    • 星辰
      星辰
      2018-10-22

      测试数据相差不止8个小时, 所以我想应该还不是这个UTC时间的问题.

      2018-10-22
      回复
    • 半寸灰
      半寸灰
      2018-10-22回复星辰

      我是用  new  Data()的  

      db.serverDate

      坑多 不敢用

      自测哈哈哈

      2018-10-22
      回复
  • shallwe99
    shallwe99
    2018-11-06

     官方能不能给个demo,直接在command.lt(new Date(数字))也不行。

    2018-11-06
    赞同
    回复
  • 强15851218976
    强15851218976
    2018-11-09

    这个问题卡到我现在还没睡。date对象也比较不了,date字符串也比较不了,是不是_.gt()不能做这样的比较阿?希望官方能重视这个问题。

    2018-11-09
    赞同
    回复 2
    • 星辰
      星辰
      2018-11-10

      云函数坑到怀疑人生.

      2018-11-10
      回复
    • 强15851218976
      强15851218976
      2018-11-10回复星辰

      是啊,我最后只能把用timestamp

      2018-11-10
      回复