我想在moment.js中创建自己的语言环境,其父级应该是阿拉伯语本地,但我只想更改为数字格式以显示0-9
,而不是默认显示。
根据文件,我可以从那开始:
moment.defineLocale('ar-sa-mine', {
parentLocale: 'ar-sa',
/*
here I need to specify the numeric: change **this ٢٩ to 29**
*/
});
答案 0 :(得分:2)
如果您查看locale/ar-sa.js
代码,则会注意到该时刻会使用preparse
和postformat
将数字字符转换为阿拉伯语。
您只需恢复重置preparse
和postformat
的默认行为(例如,请查看时刻代码:function preParsePostFormat (string) { return string; }
)
这是一个实时样本:
console.log( moment().format() );
console.log( moment().format('dddd DD MMMM YYYY') );
moment.defineLocale('ar-sa-mine', {
parentLocale: 'ar-sa',
preparse: function (string) {
return string;
},
postformat: function (string) {
return string;
}
});
console.log( moment().format() );
console.log( moment().format('dddd DD MMMM YYYY') );

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/locale/ar-sa.js"></script>
&#13;