您的位置:首页 > 编程语言 > Java开发

java中compareTo比较两个日期大小

2016-05-06 15:38 656 查看

java中compareTo比较两个日期大小

我们对两个日期进行比较的时候,或者是日期的string进行比较的时候,以前我一直以为,如果大于的话compareTo的返回值应该是1,等于的话是0,小于的话是-1,网上很多也是这样说,但是现实中我程序出错,最后打出来,看了一下,如果大于的话返回的是正整数,等于是0,小于的话就是负整数,而不仅仅局限于1,0和-1,以后做比较要注意(这段话出处见此

小例子如下

package bai.test;

import java.util.Calendar;
import java.util.Date;

import org.junit.Test;

public class CompareTo_Date {

@Test
public void test() {
Calendar c = Calendar.getInstance();

c.set(2016,5,4);
Date before =c.getTime();

c.set(2016,5,5);
Date now=c.getTime();

c.set(2016,5,6);
Date after=c.getTime();

//before早于now,返回负数,可用于判断活动开始时间是否到了
int compareToBefore=before.compareTo(now);
System.out.println("compareToBefore = "+compareToBefore);

int compareToIntNow=now.compareTo(now);
System.out.println("compareToIntNow = "+compareToIntNow);

//after晚于now,返回正数,可用于判断活动结束时间是否到了
int compareToIntAfter=after.compareTo(now);
System.out.println("compareToIntAfter = "+compareToIntAfter);
}

}


输出如下

compareToBefore = -1
compareToIntNow = 0
compareToIntAfter = 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: