Я пытаюсь установить параметры 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 специально упоминает , что это должно работать:
Но когда вы пытаетесь это сделать, это не так:
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 эмуляторы также дают тот же результат.
Я все еще могу установить их через строку локали, но это довольно уродливо. Я предпочитаю использовать аргумент опций, если это возможно.