【发布时间】:2018-07-02 02:05:25
【问题描述】:
我想根据每个国家的日期格式显示日期。我尝试了很多方法终于找到了这个例子
http://www.java2s.com/Code/Java/Data-Type/DateFormatwithLocale.htm
这给出了我的意思的完美输出。 德国等一些国家/地区不会使用 12hr 格式,而是使用 24 hr 格式且没有 AM/PM。而像 US 这样的一些国家/地区使用 12 小时格式。
但我发现,在运行这个 java 类时,它会按预期返回正确的输出,但是在 Android 项目中运行它时,它会返回类似这样的内容
I/System.out: Locale: en_US
I/System.out: Jan 23, 2018 5:26:41 AM
I/System.out: Jan 23, 2018 5:26:41 AM
I/System.out: Jan 23, 2018 5:26:41 AM
I/System.out: Jan 23, 2018 5:26:41 AM
I/System.out: Jan 23, 2018 5:26:41 AM
I/System.out: Locale: de_DE
I/System.out: 23.01.2018 5:26:41 vorm.
I/System.out: 23.01.2018 5:26:41 vorm.
I/System.out: 23.01.2018 5:26:41 vorm.
I/System.out: 23.01.2018 5:26:41 vorm.
I/System.out: 23.01.2018 5:26:41 vorm.
在 Locale: en_US 的情况下,这是预期的,但在 Locale: de_DE 的情况下,预计不会有那个“vorm”。
谁能解释这种行为?
【问题讨论】:
-
上午 5:26 与 24 小时制的 5:26 相同,下午 5:26 与 24 小时制的 17:26 相同
-
但我不想显示那个“vorm”。如果在下午 5.30 的情况下会显示 17.30 nachm,我只需要它是 17.30
-
"nachm."是德语的 PM,“vorm”。为“上午”。行为符合预期!看看这个链接,localeplanet.com/icu/de-DE/index.html
-
不是以德语为母语的人我非常同意 AM 的 vorm. 和 PM 的 nach,. 看起来很奇怪而且非常不德语(如何您是否将 Ungerman 大写?)我也希望只有 5:26:41(如果时间是下午,则为 17:26:41)。
-
Oyye.. 感谢@OleV.V 的更新。 , 那是正确的
标签: java android date locale datetime-format