在moment.js中,调用:
moment.tz.guess();
将返回IANA时区标识符,例如美国太平洋时区的America/Loss_Angeles。此处对此进行了记录。
和
moment.tz.names();
将返回IANA时区标识符的列表。
我的问题是:
moment.tz.names();
是否包含调用moment.tzguess();
的所有可能结果?我正在尝试获得moment.tz(guess);
的所有可能结果的列表
moment.tz.names返回moment.tz数据中的所有IANA代表位置(有近600个(。guess提供的名称应该在列表中,除非它来自Intl对象并且包含不在moment.tz数据中的名称。
你也可以从IANA或维基百科上获得IANA所有代表性地点的列表(注意维基百科的列表并不权威,只是方便,包括标准时间和夏令时的当前偏移量(。
let repLoc = moment.tz.guess();
let allLoc = moment.tz.names();
console.log('Your IANA representative location: ' + repLoc);
console.log('In timezone data? : ' + allLoc.includes(repLoc));
console.log('All timezones:n' + allLoc.join('n'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.28/moment-timezone-with-data.min.js"></script>