我正在尝试获取与我的位置有关的时间。根据我的国家/地区,我所在的时间是格林尼治标准时间+5。但是,当我在Firebase Cloud函数中使用以下代码时,它总是给我GMT + 0的时间。
const time = new Date();
const currentTime = time.toLocaleString('en-US', {
hour: 'numeric',
minute: 'numeric',
hour12: true
})
如果我在任何网站的控制台中使用以上代码,则可以给我正确的时间。即GMT + 5。有人知道如何根据我所在的地区获得正确的时间吗?
答案 0 :(得分:0)
您的代码看起来正确。
如果您的Firebase云功能正在云中运行,则它可能不在与您所在时区相同的计算机上运行,因此时区有所不同。
如果您希望Firebase云功能获得发送请求的用户的时区,则必须将时区或日期作为请求的一部分传递,而不是在云功能内部进行计算。