如何在Joda Time中正确比较DateTime或MutableDateTime对象?

Jed*_*ght 2 java jodatime

我的代码输出是0,0,0.我期待0,-1,1代替.代码中有什么问题?为什么我不能在DateTime中添加或减去秒数?

public static void main(String[]args){

    DateTime dt1 = new DateTime();    
    DateTime dt2 = new DateTime(dt1); // dt2 = dt1
    DateTime dt3 = new DateTime(dt1); // dt3 < dt1
    DateTime dt4 = new DateTime(dt1); // dt4 > dt1

    dt3.minusSeconds(10);
    dt4.plusSeconds(10);

    int result1 = dt1.compareTo(dt2);
    int result2 = dt1.compareTo(dt3);
    int result3 = dt1.compareTo(dt4);

    System.out.println("Results " + result1 + " , " + result2 + " , " + result3);

}
Run Code Online (Sandbox Code Playgroud)

For*_*ega 6

minusSeconds() 返回DateTime对象的副本.

你可以试试这个:

public static void main(String[]args){

    DateTime dt1 = new DateTime();    
    DateTime dt2 = new DateTime(dt1); // dt2 = dt1
    DateTime dt3 = new DateTime(dt1).minusSeconds(10); // dt3 < dt1
    DateTime dt4 = new DateTime(dt1).plusSeconds(10); // dt4 > dt1

    int result1 = dt1.compareTo(dt2);
    int result2 = dt1.compareTo(dt3);
    int result3 = dt1.compareTo(dt4);

    System.out.println("Results " + result1 + " , " + result2 + " , " + result3);

}
Run Code Online (Sandbox Code Playgroud)