如何使用阿拉伯语语言环境的数字数字打印日期

时间:2017-03-02 02:32:28

标签: node.js icu intl

我正在使用Intl包并尝试格式化每个区域设置的日期。 对于ar-AE示例,它使用阿拉伯字符格式化日期,但我想使用数值打印它。

ops = {
    month: 'long',
    day  : 'numeric',
    year : 'numeric'
  };
console.log(new Intl.DateTimeFormat('ar-AE', ops).format(date));

它会打印٢ يناير، ٢٠١٧,但我需要2017/01/02"الاثنين، 2 يناير، 2017",之类的内容 这可能吗?

还有一个问题 - 是否可以使用自定义模式进行格式化?如果我有一个本地化模式,我可以使用该模式并格式化日期吗?

1 个答案:

答案 0 :(得分:0)

这是正常的,因为您要求 ar-AE 标准。你想要摩洛哥标准: ar-MA

var date = new Date();
ops = {month: "long", day: "numeric", year: "numeric"};

console.log(new Intl.DateTimeFormat('ar-AE', ops).format(new Date()));
// ١٤ يناير، ٢٠١٨
console.log(new Intl.DateTimeFormat('ar-MA', ops).format(new Date()));
// 14 يناير، 2018

查看moment.js的示例。他们对日期标准进行了很好的概述。