を追加するサンプルコードが、それはここだけで23時間の代わりに24
public class DateFormatSampleCode {
public static void main(String[] args) throws ParseException {
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
cal.setTime(sdf.parse("2016-03-12T02:00:00-0800"));
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println(sdf.format(cal.getTime()));
cal.add(Calendar.DATE, 1);
System.out.println(sdf.format(cal.getTime()));
}
}
はここで回答
「2016から03です-12T01:00:00" から0800
が、私の視点から、それがあるべき」
2016-03-12T03:00:00-0700
"となります。
を使用できるかどう
java.time
クラスを使用し、ありますか?また、 'Calendar'を使うのではなく、' java.time'をお勧めします。 – Kayaman@ OleV.V .:ありがとう、Java 7まで、数日ではなく時間を追加できます。 java8からはZonedDateTimeとLocalDateTimeがあります。 –
一般的なベストプラクティス。 Java 8の場合は、 'java.time'を使用します。 Java <= 7の場合は、[Joda-Time](http://www.joda.org/joda-time/)を使用します。これらの改善の必要性につながったエッジケースを回避しようとすることは、あなたの時間、IMHOに値するものではありません。 –