[OK]を、私は正式にこの1つに困っています。私はGregorianCalendarオブジェクトを持っています。これは、それが過去、現在、または将来にあるかどうかを判断したいと思います。これまでのところ、Calendar#compareToのドキュメントは私には混乱しています。私は不安定な結果を得ています。簡単なテストクラスは私の問題を説明します:Java 1.5 Calendar#compareTo()confusion
import java.util.Calendar;
import java.util.GregorianCalendar;
public class MyCal
{
public static void main(String[] args)
{
GregorianCalendar datePast = new GregorianCalendar();
datePast.add(Calendar.MONTH, -6); // subtract 6 months
GregorianCalendar datePresent = new GregorianCalendar();
GregorianCalendar dateFuture = new GregorianCalendar();
datePast.add(Calendar.MONTH, 6); // add 6 months
System.out.println("compare datePresent to datePast: "+datePresent.compareTo(datePast));
System.out.println("compare datePresent to datePresent: "+datePresent.compareTo(datePresent));
System.out.println("compare datePresent to dateFuture: "+datePresent.compareTo(dateFuture));
}
}
そして出力:
compare datePresent to datePast: 1
compare datePresent to datePresent: 0
compare datePresent to dateFuture: 0
のcompareToの私の理解では、最後の行は-1でなければならないことです。誰かが私が間違っていることを教えてもらえますか?
うわー、私はばかげてばかと思います。ありがとうジョン。 – localshred
誰かがJoda Timeに言及している人が少なくとも1人もいなくても、Java DateまたはCalendarについてSOの質問をすることは誰にも不可能ですか? SOの飲酒ゲームがあった場合、これはルール1になります。 –
私は新しい質問を作成するか、これを変更する必要がありますか? – localshred