Параметры «календарь» и «система нумерации» Intl.DateTimeFormat никогда не работают - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь установить параметры calendar и numberingSystem для объекта Intl.DateTimeFormat. Когда я устанавливаю их через аргумент locale, как показано ниже, он работает:

var dateFormat = new Intl.DateTimeFormat('en-US-u-ca-chinese-nu-arab');
var usedOptions = dateFormat.resolvedOptions();

console.log("resolved calendar: " + usedOptions.calendar);
console.log("resolved numbering: " + usedOptions.numberingSystem);

Но когда я пытаюсь установить их с помощью аргумента options, как показано ниже, это не работает. Mozilla MDN специально упоминает , что это должно работать:

enter image description here

Но когда вы пытаетесь это сделать, это не так:

var options = {calendar: 'chinese', numberingSystem: 'arab'};
var dateFormat = new Intl.DateTimeFormat('default', options);
var usedOptions = dateFormat.resolvedOptions();

console.log("resolved calendar: " + usedOptions.calendar);
console.log("resolved numbering: " + usedOptions.numberingSystem);

Я проверил это на node.js и Firefox с теми же результатами. Онлайн javascript эмуляторы также дают тот же результат.

Я все еще могу установить их через строку локали, но это довольно уродливо. Я предпочитаю использовать аргумент опций, если это возможно.

...