【发布时间】:2019-01-14 11:06:04
【问题描述】:
这个问题不涉及通用 Java,而只涉及 Codename One。
我试过了:
SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.FULL, SimpleDateFormat.FULL).format(new Date());
返回(在模拟器和 Android 上):
Sun Jan 13 14:41:35 CET 2019
如何获得日期和时间的本地化版本?我的意思是自动本地化,不需要我为每个语言环境指定格式。
例如,当我在意大利智能手机上运行应用程序时,我希望得到一个等价的字符串,例如:
13 gennaio 2019, 14:41:35
如果可能的话,没有星期几的名称,也没有“CET”。
我注意到(SimpleDateFormat.FULL, SimpleDateFormat.FULL) 或(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT) 在此示例中返回相同的字符串。
【问题讨论】:
-
更新:在 iPhone 上,它显示
13 January 2019没有时间。相反,我需要时间,并且可能需要在 Android、iPhone 和网络应用程序上使用相同的字符串。 -
您正在使用可怕的旧日期时间类,这些类在几年前已被 java.time 类取代。见
DateTimeFormatter.ofLocalized…。如果 Codename One 不支持 Java 8 或更高版本,请了解 ThreeTen-Backport 和 ThreeTenABP 项目。
标签: codenameone