Javascript如何将时区转换为实际的时区缩写?

Javascript如何将时区转换为实际的时区缩写?,javascript,typescript,Javascript,Typescript,我有一个日期,需要将其转换为这种格式 2020年2月27日下午3:00 MST 在javscript中,像一行这样做最快的方法是什么 我试过了 var options = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute:'numeric', timeZoneName: 'short' }; this.date = new Dat

我有一个日期,需要将其转换为这种格式 2020年2月27日下午3:00 MST

在javscript中,像一行这样做最快的方法是什么

我试过了

  var options = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute:'numeric', timeZoneName: 'short' };        
      this.date = new Date().toLocaleDateString("en-US", options);
这也不起作用

new Date().toLocaleDateString(Intl.DateTimeFormat().resolvedOptions().timeZone, options);
因为我得到了asia/caluctta无效的语言标签

虽然这适用于美国,但不适用于俄罗斯、印度、欧洲和中国的用户

它将显示日期为

02/28/2020 +500 GMT
我需要它显示为

2020年2月28日印度IST


2020年2月28日日本标准时间JST

我可以推荐您试试。这是一个javascript库,专门用于随着时间的推移进行更轻松的操作。只需下载.js并在脚本之前将其添加到index.html中。

会有帮助吗?每次都需要将MST转换为IST吗?你的输入数据是什么样子的?输入数据都是动态的。我以MST为例,因为我在山区标准时间。但是,它可以是任何时区,但我只需要该人时区的格式。您的问题主要归结为如何将时区偏移量转换为时区缩写?是的,我更新了标题以反映这一点