在Intl.DateTimeFormat()中,timeZone选项到底有什么作用?

问题描述 投票:0回答:1

我很难理解什么是 timeZone 选项中的 Intl.DateTimeFormat() 方法正是如此。我还找不到这方面的深入资料。如果有任何解释,将非常感激。

背景:我们需要在前端显示一个后台服务器的时间戳,并且在时间区的偏移上出现了一些问题。我们需要在前台显示一个后台服务器的时间戳,但在时区偏移上遇到了一些问题。目前,我认为根据本地客户端时间显示正确时间的解决方案如下。

Intl.DateTimeFormat('en-GB', {
          hour: 'numeric',
          minute: 'numeric',
          second: 'numeric',
          timeZone: 'GMT'
        }).format(timestamp)}

我不完全理解,为什么我需要通过 "格林威治时间 "的选项timeZone: "GMT "来获得前端的正确时间。

javascript timestamp timezone utc gmt
1个回答
0
投票

时区是用来计算本地时间的。

const timeZones = [
    "GMT",
    "Europe/Madrid",
    "Asia/Tokyo"
];
const timestamp = new Date();
let displayDate;
for (timeZone of timeZones) {
    displayDate = Intl.DateTimeFormat('en-GB', {
        hour: 'numeric',
        minute: 'numeric',
        second: 'numeric',
        timeZone: timeZone
    }).format(timestamp);
    console.log("%s @ %s", displayDate, timeZone);
}
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.