代号1-使用L10NManager代替DateFormat不建议使用获取当前的语言环境日期时间格式

问题描述

我的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中提供了一个版本,该版本可以在各个平台上更一致地工作。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...