问题描述
我的CodenameOne应用程序(Android应用程序的iOS端口)根据语言环境向用户显示了日期时间格式示例。
这是我的Android应用程序中的Java代码:
static String getTheCurrentLocaleDateTimeFormatString() {
return ((SimpleDateFormat) DateFormat.getDateTimeInstance()).toLocalizedPattern();
}
例如在我的语言环境中,我得到以下字符串:
dd MMM y HH:mm:ss
无法对此应用程序设计进行任何修改。
此处的文档:https://www.codenameone.com/javadoc/java/text/DateFormat.html
表示DateFormat已过时,并且在某些平台(例如iOS本身)上存在问题。它仅用于此目的,顺便说一句,我将其留在了Android应用中。
但是,我不能使用它的方法,因为如果我没有记错的话,它们在CodenameOne中是不同的。
文档说使用L10NManager代替,但是我必须更改代码。
使用L10NManager实现相同目标的正确方法是什么?
解决方法
您可以像这样使用L10NManager:
String t = L10NManager.getInstance().formatDateTime(date);
我们也支持SimpleDateFormat
,但它的限制更多。我们在com.codename1.l10n
中提供了一个版本,该版本可以在各个平台上更一致地工作。