我正在使用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",
之类的内容
这可能吗?
还有一个问题 - 是否可以使用自定义模式进行格式化?如果我有一个本地化模式,我可以使用该模式并格式化日期吗?
答案 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的示例。他们对日期标准进行了很好的概述。