Java 不同地点的时间结果不同

Java 不同地点的时间结果不同,java,android,date,locale,hour,Java,Android,Date,Locale,Hour,结果: 14:06:12(在我的设备中与该小时相同) 14:16:55(带区域设置(“es”、“es”)) 是的,我在西班牙(Bcn),有人会告诉我为什么?? 下一个问题是,当我将地区更改为其他国家时,会发生这种情况吗 谢谢 Àlex在第二个示例中:SimpleDateFormat=newsimpledateformat(“HH:MM:ss”,locale),您使用的是MM而不是MM,因此打印出来的是月数而不是分钟数(虽然五月应该是05)。在第二个示例中:SimpleDateFormat for

结果: 14:06:12(在我的设备中与该小时相同) 14:16:55(带区域设置(“es”、“es”))

是的,我在西班牙(Bcn),有人会告诉我为什么?? 下一个问题是,当我将地区更改为其他国家时,会发生这种情况吗

谢谢


Àlex

在第二个示例中:
SimpleDateFormat=newsimpledateformat(“HH:MM:ss”,locale)
,您使用的是
MM
而不是
MM
,因此打印出来的是月数而不是分钟数(虽然五月应该是05)。

在第二个示例中:
SimpleDateFormat format=new SimpleDateFormat(“HH:MM:ss”,locale),您使用的是
MM
而不是
MM
,因此打印的是月数而不是分钟数(虽然5月份应该是05)。

MM是分钟数。MM是一个月

第二种格式是小时::秒


在assylias注释后编辑

mm为分钟。MM是一个月

第二种格式是小时::秒


在assylias评论后编辑

就是这样:MM是月,MM是分钟。同意。我的假设基于给出的结果。06似乎比16更符合逻辑。是这样的:MM是月,MM是分钟。同意。我的假设基于给出的结果。06月份似乎比16月份更符合逻辑。你的结果毫无意义。MM不能给出大于12的数字。你的结果没有意义。MM不能给出大于12的数字
    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()));