如何解决joda-time 库模式“d”不翻译区域设置语言
我的 Android 项目使用的是 joda-time 库,而不是 日历。但与日历不同的是,我遇到了语言环境问题。
根据系统/设备语言,所有类型的文本都在翻译,但“d”模式没有翻译,它始终保持英语。
就像用“d”模式说的,如果一个变量是 15,对于英语语言环境,它是:15, 但是对于阿拉伯语语言环境,它仍然是:15,它应该转换为阿拉伯语 15 (١٥)。它不是翻译。
我该怎么做?这是 joda-time lib 不支持的东西,还是我做错了什么。
解决方法
查看以下通知
Joda-Time 是 Java 的事实上的标准日期和时间库 在 Java SE 8 之前。现在要求用户迁移到 java.time (JSR-310)。
使用现代日期时间 API:
PUT
输出:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
DateTimeFormatter dtfArabic = DateTimeFormatter.ISO_DATE.localizedBy(Locale.forLanguageTag("ar-SA"));
System.out.println(date.format(dtfArabic));
}
}
从 Trail: Date Time 了解有关现代日期时间 API 的更多信息。
出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 和 7。如果您正在为 Android 项目工作并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaring 和 How to use ThreeTenABP in Android Project。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。