我很好奇 Java 的 SimpleDateFormat 如何根据设置的时区决定何时增加/减少传入的时间。
假设我有一个日期 06/04/2013。然后我将时区设置为离我很远的一个(我在 GMT-5)。假设我使用 GMT+8。
我打电话
SimpleDateFormat df = new SimpleDateFormat( "M/d/yy" );
df.setTimeZone( TimeZone.getTimeZone( "GMT+8" ) );
df.parse( endDate ) // this returns 06/**03**/2013 //endDate is just a String
它返回 2013 年 6 月 3 日。为什么会减量?
编辑:基本上我在问如果我将它设置为 GMT+8,Java 用来将我的日期回退到 6/3 的参考点是什么。有一些逻辑说嘿我不在这个当前时区,所以让我们改变它。但是由于我传递的是一个字符串,所以我看不出它可能在哪里。
我假设默认情况下,如果我没有在字符串中提供时区,它将默认为 GMT。