【发布时间】:2012-12-31 05:33:25
【问题描述】:
在我们的应用程序中格式化本地时间时,我们之前在 .NET 上遇到过这个错误: .NET (3.5) formats times using dots instead of colons as TimeSeparator for it-IT culture? 已在 .NET 4.0 中修复。
当我们测试本地时间的 Android 格式时,我们在挪威语言环境中得到相同的错误,我们得到的时间是“21.00”,而我们在挪威这里使用句点,所以它应该是“21:00”。
DateFormat tf = android.text.format.DateFormat.getTimeFormat(m_activity);
当我测试它时,这发生在 Android 4.2 和 4.0.4 上。这也是bug吗?
而且我看到 Android 在英国也使用 AM/PM,这也有点“不标准”? Formatting time with en_GB locale gives different results in Android and standard Java
【问题讨论】:
-
请记住,Android 不是 Java,它们甚至不在同一种 VM 上运行。不要指望他们分享常识;)老实说,我什至不知道这是一个错误还是一个功能。
-
@ChristerNordvik : AM/PM 在英国仍然很受欢迎。大多数带有数字时钟/计时器的设备要么默认为 24 小时制,要么可以选择两种 12/24 小时显示。 BBC 网站上的电视节目表(例如)可能是 24 小时制的,但电视上的公告会说“新系列今晚 9 点开始”之类的内容。换句话说,24 小时制对于技术来说是正常的,但 12 小时制仍然是人类日常使用的时钟。抱歉,这对您的问题没有帮助 - 我只是想澄清一下。
-
@Squonk 你是对的,我发现只有在 Android 上将时钟设置为 12 小时制时,Android 才会返回 9:00PM,因此在这方面它是 100% 正确的。据我测试,只有挪威语言环境存在此错误。