Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在任何语言的日期对象中仅获取timeZoneName?_Javascript_Date_Timezone - Fatal编程技术网

Javascript 如何在任何语言的日期对象中仅获取timeZoneName?

Javascript 如何在任何语言的日期对象中仅获取timeZoneName?,javascript,date,timezone,Javascript,Date,Timezone,我正在尝试从日期对象中仅提取timeZoneName。我是用英语用正则表达式做的,但是,如何用法语等不同的语言来做呢。我意识到正则表达式不是这个选项。如何获得唯一的时区名称 设d=newdate().toString(); 设finalD=(d.substring(d.search(“GMT”),d.length)); 常数[gmt,time]=最终拆分('('); const timezone=time.replace(/\)/g,“”; console.log(格林尼治标准时间,时区)在大

我正在尝试从日期对象中仅提取timeZoneName。我是用英语用正则表达式做的,但是,如何用法语等不同的语言来做呢。我意识到正则表达式不是这个选项。如何获得唯一的时区名称

设d=newdate().toString();
设finalD=(d.substring(d.search(“GMT”),d.length));
常数[gmt,time]=最终拆分('(');
const timezone=time.replace(/\)/g,“”;

console.log(格林尼治标准时间,时区)在大多数现代JavaScript环境中,您可以使用ECMAScript国际化API来实现这一点。特别是公开您可以使用的函数

const d1=新日期(2020,0,1);
const d2=新日期(2020年6月1日);
const dtf1=new Intl.DateTimeFormat('en',{timeZoneName:'long'});
const dtf2=new Intl.DateTimeFormat('fr',{timeZoneName:'long'});
log(dtf1.formatToParts(d1.find)(x=>x.type==='timeZoneName').value);
log(dtf1.formatoparts(d2.find)(x=>x.type==='timeZoneName').value);
log(dtf2.formattopart(d1.find)(x=>x.type==='timeZoneName').value);

log(dtf2.formatToParts(d2.find)(x=>x.type==='timeZoneName').value)我需要时区名称,例如:“东部标准时间”,不管它是什么语言。我有同样的问题,但想知道是否有一种方法可以不使用formatToParts,因为IE11不支持它。由于某些原因,仅使用timeZoneName作为DateTimeFormat的选项也会返回日期。