google上的操作时间与我的本地时间不匹配

nue99wik  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(425)

我正在尝试使用node.js firebase cloud函数和dialogflow开发google助手,所以当我尝试console.log来测试部署时的外观时,一切都正常,但当我在模拟器上测试时,句子中的时间与我的本地时间不匹配,例如,它说现在是上午11:00,而在我的国家是18:00。有人知道吗告诉我怎么修?

rqdpfwrv

rqdpfwrv1#

如果对firebase使用云函数,webhook时间将设置为gmt时区(+0)。这在某些情况下对于一致性很有用,但缺点是它不能保证反映客户机。
在我们最近发布的位置示例中,我们使用了一个新的 timezone 字段以获取客户端时区。有了它,以及gmt中的时区,您可以使用类似spacetime的库来获取用户本地的时间。

const spacetime = require('spacetime');

app.handle('location_granted', (conv) => {
  const {id} = conv.request.device.timeZone;
  let localTime = spacetime(new Date());
  localTime = localTime.goto(id); // Set timezone

  conv.add(`The Local Time is ${localTime.format('{time}')}.`)
});

相关问题