日付との差を計算する必要があります。方法を見つけましたが、この奇妙な結果が得られました。何か不足していますか?
public static void main(String[] args) throws ParseException {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
long result = format.parse("2012-03-25 24:00").getTime() - format.parse("2012-03-25 00:00").getTime();
System.out.println("Difference in hours: " + result/(1000*60*60));
result = format.parse("2012-03-26 24:00").getTime() - format.parse("2012-03-26 00:00").getTime();
System.out.println("Difference in hours: " + result/(1000*60*60));
}
これが結果です: 時間差: 23 時間差: 24
アドバイスをありがとう、今私は Joda libray を使用しています。この方法で差を計算すると、この質問があります。
DateTime begin = new DateTime("2012-03-25T00:00+01:00");
DateTime end = new DateTime("2012-03-26T00:00+01:00");
Hours m = Hours.hoursBetween(begin, end);
この方法を使用して時間を計算すると、24 時間になります (DST が考慮されていないため)
DST を考慮して結果として 23 時間を取得するには、どのクラス/計算を使用する必要がありますか (既に別の方法を試しましたが、取得できません)、Period クラスは?
助けてくれてありがとう...