我正在尝试使用node.js firebase cloud函数和dialogflow开发google助手,所以当我尝试console.log来测试部署时的外观时,一切都正常,但当我在模拟器上测试时,句子中的时间与我的本地时间不匹配,例如,它说现在是上午11:00,而在我的国家是18:00。有人知道吗告诉我怎么修?
rqdpfwrv1#
如果对firebase使用云函数,webhook时间将设置为gmt时区(+0)。这在某些情况下对于一致性很有用,但缺点是它不能保证反映客户机。在我们最近发布的位置示例中,我们使用了一个新的 timezone 字段以获取客户端时区。有了它,以及gmt中的时区,您可以使用类似spacetime的库来获取用户本地的时间。
timezone
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}')}.`) });
1条答案
按热度按时间rqdpfwrv1#
如果对firebase使用云函数,webhook时间将设置为gmt时区(+0)。这在某些情况下对于一致性很有用,但缺点是它不能保证反映客户机。
在我们最近发布的位置示例中,我们使用了一个新的
timezone
字段以获取客户端时区。有了它,以及gmt中的时区,您可以使用类似spacetime的库来获取用户本地的时间。