JerrySirCom
JerrySirCom
  • 发布:2022-04-15 11:27
  • 更新:2022-04-22 10:43
  • 阅读:611

【报Bug】云函数的时区问题,什么时候可以解决一下,new Date()现在是+0的时区

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

在云函数里面打印一下时间就可以

预期结果:

北京+8时区,或者可以提供一个方法,设置时区和格式化的

实际结果:

北京+8时区,或者可以提供一个方法,设置时区和格式化的

bug描述:

【报Bug】云函数的时区问题,什么时候可以解决一下,new Date()现在是+0的时区

2022-04-15 11:27 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
JerrySirCom

JerrySirCom (作者)

本地调试是本地的时间,传到云函数,时区就不对了

JerrySirCom

JerrySirCom (作者)

@DCloud_UNI_WYQ 大佬帮忙看下呗

呆狗的一生

呆狗的一生 - 呆狗的一生

这不是bug,不要乱报bug,本地的nodejs的new Date(),返回的也是零时区的时间。你电脑上没有安装nodejs吗?你自己在你电脑上试试要死啊?

  • JerrySirCom (作者)

    你但凡能认真读一下描述,或者试一下也不会在这乱咬人,我说的是部署到云上之后的时区问题,麻烦嘴干净一下,另外你家如果有丧事,就先忙着去处理,别在这回帖了好吗?

    2022-04-22 10:30

  • 呆狗的一生

    回复 JerrySirCom: 我说的是不分本地还是云,都是零时区。还没有明白?你是东8区对吧?你在零时区的基础上+个8,很难吗?我服你。

    2022-04-22 12:12

  • 呆狗的一生

    我知道是云函数。

    2022-04-22 12:12

  • JerrySirCom (作者)

    回复 呆狗的一生: 不懂你就自己去试试,uniCloud云端的云函数使用的时区是utc+0,而不是 UTC+8,在云函数中使用时间时需特别注意。云函数在HBuilderX本地运行时,时区则是电脑的时间,不懂就别BB了行吗

    2022-04-22 13:57

  • JerrySirCom (作者)

    回复 呆狗的一生: 别TM不懂装懂到哪都刷存在感,如果没有问题会出现单独的一个库来解决这个问题,脑子有坑吧

    https://ext.dcloud.net.cn/plugin?id=3841

    2022-04-22 14:00

JerrySirCom

JerrySirCom (作者)

为了防止被人乱咬,我贴一个解决方案来证实有这件事存在

https://blog.csdn.net/weixin_43518405/article/details/119829959

也不知道这样还会不会被人乱咬

  • DCloud_uniCloud_WYQ

    文档里面也给出了一段代码可以先获取偏移后的Date对象,再获取具体的年月日


    // 获取偏移后的Date对象,例如utc+x时offset就传x  
    function getOffsetDate (offset) {
    return new Date(
    Date.now() + (new Date().getTimezoneOffset() + (offset || 0) * 60) * 60000
    )
    }

    // 获取utc+8的小时数
    const hour = getOffsetDate(8).getHours()

    // 获取时间戳无需使用此方式utc+0时间戳是与utc+8时间戳一致的

    2022-04-22 17:07

该问题目前已经被锁定, 无法添加新回复