丢了蜡笔的小新
丢了蜡笔的小新
  • 发布:2022-08-31 12:00
  • 更新:2022-08-31 12:05
  • 阅读:322

云对象中new Date().getHours()获取到的小时不正确

分类:uniCloud

云对象连接本地云函数的时候是正常的,连接云端云函数的时候getHours()的值就变成了getUTCHours()的值,new Date传入正确的时间戳也不行,请问该如何获取正确的值?

2022-08-31 12:00 负责人:无 分享
已邀请:
丢了蜡笔的小新

丢了蜡笔的小新 (作者)

目前为了保持一致,只能使用getUTCHours()后+8小时,即为国区getHours()的值

  • DCloud_uniCloud_WYQ

    云函数在云端使用的是utc+0,建议先获取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-09-01 11:11

要回复问题请先登录注册