Javascript 时区选项在Intl.DateTimeFormat()中的具体作用是什么
我很难理解Javascript 时区选项在Intl.DateTimeFormat()中的具体作用是什么,javascript,timestamp,timezone,utc,gmt,Javascript,Timestamp,Timezone,Utc,Gmt,我很难理解Intl.DateTimeFormat()方法中的timeZone选项到底做了什么。我还没有找到这方面的深入资料。任何解释都将不胜感激 背景:我们需要在前端显示后端服务器的时间戳,并且时区偏移有一些问题。目前,我认为根据本地客户端时间显示正确时间的解决方案如下: 我不完全理解,为什么我需要传递选项时区:“格林威治标准时间”的“GMT”,以便在前端获得正确的时间。时区用于计算当地时间: const时区=[ “格林尼治标准时间”, “欧洲/马德里”, “亚洲/东京” ]; 常量时间戳=新
Intl.DateTimeFormat()
方法中的timeZone
选项到底做了什么。我还没有找到这方面的深入资料。任何解释都将不胜感激
背景:我们需要在前端显示后端服务器的时间戳,并且时区偏移有一些问题。目前,我认为根据本地客户端时间显示正确时间的解决方案如下:
我不完全理解,为什么我需要传递选项时区:“格林威治标准时间”的“GMT”,以便在前端获得正确的时间。时区用于计算当地时间:
const时区=[
“格林尼治标准时间”,
“欧洲/马德里”,
“亚洲/东京”
];
常量时间戳=新日期();
让我们显示日期;
用于(时区中的时区){
displayDate=Intl.DateTimeFormat('en-GB'{
小时:'数字',
分钟:'数字',
第二个:“数字”,
时区:时区
}).格式(时间戳);
console.log(“%s@%s”,显示日期,时区);
}
Date对象具有时区意识。显示日期时,出于明显的原因,需要选择时区。我不完全确定您的疑问是什么。感谢您的解释。我还有一个问题:如果我不指定时区,运行时环境将引入其时区,从而为时间添加偏移量tamp否则将对应于GMT时间(没有偏移量?)。在JavaScript中日期并不完全是这样工作的。Date
对象指向一个精确的(绝对的)时间点(我不知道内部格式,也许这只是Unix时间,但我在猜测)。只要运行时需要生成需要(并考虑)时区时的当地时间。
Intl.DateTimeFormat('en-GB', {
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
timeZone: 'GMT'
}).format(timestamp)}