我在我的应用程序中使用日期格式化程序来显示一些日期..但我希望这个日期以阿拉伯语显示..所以我尝试像这样更改格式化程序的语言环境:
var now = new DateTime.now();
var formatter = DateFormat.yMMMd("ar_SA");
String formatted = formatter.format(now);
print(formatted);
Run Code Online (Sandbox Code Playgroud)
但它不工作..
如果我把它改成这样:
var now = new DateTime.now();
var formatter = DateFormat.yMMMd("en_US");
String formatted = formatter.format(now);
print(formatted);
Run Code Online (Sandbox Code Playgroud)
会正常工作..但我希望日期以阿拉伯语显示..
如何实现这一目标?我希望日期是例如 ?? ????? ????.. 怎么做?
您需要使用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);
});
Run Code Online (Sandbox Code Playgroud)
或者使用 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);
Run Code Online (Sandbox Code Playgroud)
这导致我的以下输出:
ar
?? ?????? ????
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4673 次 |
| 最近记录: |