我在我的应用程序中使用日期格式化程序来显示一些日期..但我希望该日期以阿拉伯语显示..所以我尝试更改格式化程序的区域设置,如下所示:
var now = new DateTime.now();
var formatter = DateFormat.yMMMd("ar_SA");
String formatted = formatter.format(now);
print(formatted);
但它不工作..
如果我把它改成这样:
var now = new DateTime.now();
var formatter = DateFormat.yMMMd("en_US");
String formatted = formatter.format(now);
print(formatted);
可以正常工作..但我希望日期以阿拉伯语显示..
如何实现这一目标?我希望日期是例如 ١١ ١ ٠١٨ ٢٠١٨ .. 该怎么做?
你需要使用initializeDateFormatting
要获得正确的日期格式化程序,如下所示:
initializeDateFormatting("ar_SA", null).then((_) {
var now = DateTime.now();
var formatter = DateFormat.yMMMd('ar_SA');
print(formatter.locale);
String formatted = formatter.format(now);
print(formatted);
});
或者使用 async-await 你可以这样做:
await initializeDateFormatting("ar_SA", null);
var now = DateTime.now();
var formatter = DateFormat.yMMMd('ar_SA');
print(formatter.locale);
String formatted = formatter.format(now);
print(formatted);
这会给我带来以下输出:
ar
١٢ نوفمبر ٢٠١٨
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)