我想用"马拉地语"显示今天的日期。但是日期中的数字不能用马拉地语显示。我写了下面的代码行来实现它。(flutter-3.0.4稳定)
DateTime currentDate = DateTime.now();
String todaysDate = DateFormat('d MMMM, yyyy', "mr_IN").format(currentDate);
实际输出为:
20 डिसेंबर, 2022
但我想显示:
२० डिसेंबर, २०२२
正如我们所看到的,日期中的数字不是马拉地语。
我也写了下面的扩展方法,但也没有解决这个问题:
extension ExtendedString on String {
String get toMarathi {
String dateInMarathi = this;
if (dateInMarathi.contains("0")) {
dateInMarathi = dateInMarathi.replaceAll("0", "०");
}
if (dateInMarathi.contains("1")) {
dateInMarathi = dateInMarathi.replaceAll("1", "१");
}
if (dateInMarathi.contains("2")) {
dateInMarathi = dateInMarathi.replaceAll("2", "२");
}
if (dateInMarathi.contains("3")) {
dateInMarathi = dateInMarathi.replaceAll("3", "३");
}
if (dateInMarathi.contains("4")) {
dateInMarathi = dateInMarathi.replaceAll("4", "४");
}
if (dateInMarathi.contains("5")) {
dateInMarathi = dateInMarathi.replaceAll("5", "५");
}
if (dateInMarathi.contains("6")) {
dateInMarathi = dateInMarathi.replaceAll("6", "६");
}
if (dateInMarathi.contains("7")) {
dateInMarathi = dateInMarathi.replaceAll("7", "७");
}
if (dateInMarathi.contains("8")) {
dateInMarathi = dateInMarathi.replaceAll("8", "८");
}
if (dateInMarathi.contains("9")) {
dateInMarathi = dateInMarathi.replaceAll("9", "९");
}
return dateInMarathi;
}
}
2条答案
按热度按时间xuo3flqw1#
请尝试以下代码:
eoigrqb62#
尝试下面的代码参考一些链接GlobalMaterialLocalizations,initializeDateFormatting:
导入以下程序包
在
initState
内添加initializeDateFormatting()
您的日期代码
您的小工具:
完整代码:
结果-〉