Java の SimpleDateFormat が、設定されているタイムゾーンに基づいて、渡された時間をインクリメント/デクリメントするタイミングを決定する方法に興味があります。
2013 年 6 月 4 日の日付があるとします。次に、タイムゾーンを自分から遠く離れた場所に設定しました(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になると思います。