gpt4 book ai didi

java - DateTimeFormatter 不使用阿拉伯语或孟加拉语的本地数字

转载 作者:行者123 更新时间:2023-12-02 12:49:42 26 4
gpt4 key购买 nike

我正在尝试使用 DateTimeFormatter API 在 TextView 中显示特定时间,但每当我运行我的应用程序时我的设备设置为阿拉伯语或孟加拉语,不知何故时间似乎总是显示西方数字。这是故意的,还是我需要做些什么来解决这个问题?

Kotlin

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val localizedTimeFormatter = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT)

val timeOpen = LocalTime.of(9, 30)
val timeClose = LocalTime.of(17, 15)

tv_time.text = (timeOpen.format(localizedTimeFormatter) +
"\n\n" + timeClose.format(localizedTimeFormatter))
}
}

时钟应用(阿拉伯语)

enter image description here

我的应用(阿拉伯语)

enter image description here

时钟应用(孟加拉语)

enter image description here

我的应用(孟加拉语)

enter image description here

最佳答案

这是设计好的。 DateTimeFormatter 的实例,即使是本地化的实例,也使用西方/ASCII 数字,除非另有明确说明。当您知道如何操作时,说明并不难:

    DateTimeFormatter localizedTimeFormatter = DateTimeFormatter
.ofLocalizedTime(FormatStyle.SHORT)
.withDecimalStyle(DecimalStyle.ofDefaultLocale());

LocalTime timeOpen = LocalTime.of(9, 30);
LocalTime timeClose = LocalTime.of(17, 15);

String text = timeOpen.format(localizedTimeFormatter)
+ '\n' + timeClose.format(localizedTimeFormatter);
System.out.println(text);

孟加拉语语言环境 (bn-BD) 的输出:

৯:৩০ AM
৫:১৫ PM

阿拉伯语 (ar):

٩:٣٠ ص
٥:١٥ م

我希望你能自己翻译我的 Java 代码。我相信这应该不难。

关于java - DateTimeFormatter 不使用阿拉伯语或孟加拉语的本地数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64015639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com