使用 JodaTime

问题描述

我遇到了有关伊斯兰日期格式的问题。该应用的要求是根据当前区域设置显示日期和时间,因此在美国,我们将日期显示为 3/20/2021,而在欧盟则为 20. 3. 2021。

我一直在这个项目中使用 Joda Time,所以我不想改变底层逻辑。但如果有必要,我会的。

这是我用于日期格式的 DateTime 扩展的代码片段。 该代码在欧盟和美国地区格式化日期时有效,就像我上面提供的示例一样,它完全按预期工作。

val DateTime.dateString: String
get() {
    val dateFormat = DateTimeFormat.shortDate().withZone(DateTimeZone.forTimeZone(TimeZone.getDefault())).withLocale(Locale.getDefault())
    return dateFormat.print(this)
}

用户使用例如阿拉伯语时就会出现问题。在这种情况下,日期输出为 2021/3/20。 现在我对伊斯兰日期不太了解,但有人告诉我有一种更好的方法,即用特殊字母/数字格式化日期。

JodaTime 和 Java Date 类似乎都有一些特殊的类来处理伊斯兰日期。例如,IslamicChronology 和IslamicCalendar。但我现在想知道如何正确检查当前的语言环境是否应该有伊斯兰日期,然后相应地输出它们,带有它们的特殊字母和数字?

对不起,如果这是一个令人困惑的问题,但这对我来说是一个令人困惑的话题。我以前从未处理过这些东西,老实说我已经很难理解伊斯兰国家期望什么样的日期格式,更不用说编程了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...