am在我的应用程序中使用Date格式器显示一些日期..但我希望将此日期显示为阿拉伯语..所以我试图像这样更改格式器的语言环境:
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);
会很好..但我希望日期以阿拉伯语显示..
如何实现这一目标?我希望日期是例如١١يناير٢٠١٨ ..该怎么做?
答案 0 :(得分:1)
您需要使用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
١٢ نوفمبر ٢٠١٨
答案 1 :(得分:1)
并只需确保导入本地数据
import 'package:intl/date_symbol_data_local.dart';