java - Locale 的不同时间结果

标签 java android date locale hour

    SimpleDateFormat formato =new SimpleDateFormat("HH:mm:ss");
    Calendar cal = Calendar.getInstance();
    String fecha11 = String.valueOf(formato.format(cal.getTime()));

    Locale locale = new Locale("es", "ES");
    SimpleDateFormat format = new SimpleDateFormat("HH:MM:ss", locale);
    String fecha22 = String.valueOf(format.format(cal.getTime()));

结果: 14:06:12(与我设备中的那个时间相同) 14:16:55(使用 Locale("es", "ES"))

是的,我在西类牙 (Bcn) ¬¬' 有人会向我解释为什么吗? 下一个问题,当我将 Locale 更改为其他国家/地区时会发生这种情况吗?

谢谢,

阿莱克斯

最佳答案

在您的第二个示例中:SimpleDateFormat format = new SimpleDateFormat("HH:MM:ss", locale);,您使用的是 MM 而不是 mm ,因此打印的是月份数字而不是分钟数(不过对于 5 月应该是 05)。

关于java - Locale 的不同时间结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587603/

相关文章:

java - java中的HmacSHA256编码

java - 在 Java 中标准化西类牙日期

r - 你如何计算R中不同年份的相同月份之间的差异

java - 将数组列表存储在作为该数组列表一部分的对象中

java - 使用流阅读器的问题

android - 使用 android studio 应用程序连接到谷歌云 mysql

java - 如何从 Android 更新 DynamoDB 中的项目?

java - 在 Java 中解析 ISO 8601 日期格式,如 2015-06-27T13 :16:37. 363Z

java - 等到所有线程在java中完成它们的工作

java - CallBack 给出 NullPointEreException