如何在Java中比较两个日期

方法 1

方法 1 的 4:使用compareTo

WH.shared.addScrollLoadItem(’01a154d525d557174d9d42991cb0a9b0′)

WH.performance.clearMarks(‘image1_rendered’); WH.performance.mark(‘image1_rendered’);{“smallUrl”:”https://www.wikihow.com/images_en/thumb/6/6a/4301351-1.jpg/v4-460px-4301351-1.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/6/6a/4301351-1.jpg/v4-728px-4301351-1.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
1
使用compareTo。Date实现了Comparable,因此两个日期可以直接用compareTo方法进行比较。如果日期在同一时间点,则方法返回零。如果比较的日期在date参数之前,则返回一个小于零的值。如果被比较的日期在另一个date参数之后,则返回一个大于零的值。如果日期相等,则返回0值。

X
研究来源

WH.performance.mark(‘step1_rendered’);

WH.shared.addScrollLoadItem(‘5cafdc6787fc4416fc5adbbd5ffc4244’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/8/8c/4301351-2.jpg/v4-460px-4301351-2.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/8/8c/4301351-2.jpg/v4-728px-4301351-2.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
2
创建日期对象。在开始比较之前,需要为每个日期创建对象。一种方法是使用SimpleDateFormat类。它允许在日期对象中轻松输入日期值。

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
//用于在新的日期对象中声明值。创建日期时使用相同的日期格式
Date date1 = sdf.parse(“1995-02-23”); //date1是1995年2月23日
Date date2 = sdf.parse(“2001-10-31”); //date2 是2001年10月31日
Date date3 = sdf.parse(“1995-02-23”); //date3 是1995年2月23日

WH.shared.addScrollLoadItem(’07a1d82001bdae84405037231d13286e’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/5/5d/4301351-3.jpg/v4-460px-4301351-3.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/5/5d/4301351-3.jpg/v4-728px-4301351-3.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
3
比较日期对象。下面的代码将显示每种情况——小于、等于和大于。

date1.compareTo(date2); //date1 date1,返回大于0的值
date1.compareTo(date3); //date1 = date3,将在控制台中输出0

WH.ads.addBodyAd(‘method_ad_1’)

广告

WH.ads.addBodyAd(‘mobilemethod_ad_1’)

方法 2

方法 2 的 4:使用Equals、After、和Before

WH.shared.addScrollLoadItem(‘0200ded4ae72c13480e6715d2333cbac’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/7/70/4301351-4.jpg/v4-460px-4301351-4.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/7/70/4301351-4.jpg/v4-728px-4301351-4.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
1
使用equals、after、和before。可以用equals、after、和before方法比较日期。如果两个日期在同一时间点,equals方法将返回true。示例将使用之前创建的compareTo方法中的日期。
[2]
X
研究来源

WH.shared.addScrollLoadItem(’11a0c117ec27958eb1504b985ba20f28′)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/d/dd/4301351-5.jpg/v4-460px-4301351-5.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/d/dd/4301351-5.jpg/v4-728px-4301351-5.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
2
用before方法比较日期。下列代码展示了true和false两种情况。如果date1在date2之前,before返回true。否则返回false。

System.out.print(date1.before(date2)); //输出true
System.out.print(date2.before(date2)); //输出false

WH.shared.addScrollLoadItem(‘1d4964701c9e73c4aff3829e7a01bd1f’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/a/ad/4301351-6.jpg/v4-460px-4301351-6.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/a/ad/4301351-6.jpg/v4-728px-4301351-6.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
3
用after方法比较日期。下列代码展示了true和false两种情况。如果date2在date1之后,after返回true。否则返回false。

System.out.print(date2.after(date1));//输出true
System.out.print(date1.after(date2));//输出false

WH.shared.addScrollLoadItem(‘4cad7ffb50fb064481c24b8180834114’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/e/ed/4301351-7.jpg/v4-460px-4301351-7.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/e/ed/4301351-7.jpg/v4-728px-4301351-7.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
4
用equals方法比较日期。下列代码展示了true和false两种情况。如果日期相等,equals返回true。否则返回false。

System.out.print(date1.equals(date3));//输出true
System.out.print(date1.equals(date2));//输出false

广告

WH.ads.addBodyAd(‘mobilemethod_ad_2’)

方法 3

方法 3 的 4:使用Calendar类

WH.shared.addScrollLoadItem(‘0dee149876bc11064f3bc9785d7c4cd7’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/6/6f/4301351-8.jpg/v4-460px-4301351-8.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/6/6f/4301351-8.jpg/v4-728px-4301351-8.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
1
使用calendar。Calendar类也有compareTo、equals、after和before方法,工作方式与上面描述的date类的方法相同。因此,如果日期信息保存在calendar类中,则不需要提取日期来执行比较。[3]
X
研究来源

WH.shared.addScrollLoadItem(‘1ef0a3061121aaa74e04e455b9ac1917’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/5/5c/4301351-9.jpg/v4-460px-4301351-9.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/5/5c/4301351-9.jpg/v4-728px-4301351-9.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
2
创建Calendar实例。要使用Calendar方法,需要几个Calendar实例。幸运的是,你可以从已经创建的Date实例中获取时间。

Calendar cal1 = Calendar.getInstance(); //声明cal1
Calendar cal2 = Calendar.getInstance(); //声明cal2
Calendar cal3 = Calendar.getInstance(); //声明cal3
cal1.setTime(date1); //将日期应用于cal1
cal2.setTime(date2);
cal3.setTime(date3);

WH.shared.addScrollLoadItem(‘6e0f1d44c0d2b33a74468427d6a58bb2’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/8/8d/4301351-10.jpg/v4-460px-4301351-10.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/8/8d/4301351-10.jpg/v4-728px-4301351-10.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
3
用before比较cal1和cal2。下面的代码应该会输出true,因为cal1在cal2之前。

System.out.print(cal1.before(cal2)); //将会输出true

WH.shared.addScrollLoadItem(‘f49ab1f97e929ad51dda4b0b14a6609b’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/2/29/4301351-11.jpg/v4-460px-4301351-11.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/2/29/4301351-11.jpg/v4-728px-4301351-11.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
4
用after比较cal1和cal2。下面的代码应该会输出false,因为cal1在cal2之前。

System.out.print(cal1.after(cal2)); //输出false

WH.shared.addScrollLoadItem(‘899d9f44248b5952a02ac19d53e932e3’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/f/f4/4301351-12.jpg/v4-460px-4301351-12.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/f/f4/4301351-12.jpg/v4-728px-4301351-12.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
5
用equals比较cal1和cal2。下面的代码将展示true和false两种情况的示例。条件取决于被比较的calendar实例。代码应该会输出“true”,然后在下一行输出“false”。

System.out.println(cal1.equals(cal3)); //输出true: cal1 == cal3
System.out.print(cal1.equals(cal2)); //输出false: cal1 != cal2

广告

WH.ads.addBodyAd(‘mobilemethod_ad_3’)

方法 4

方法 4 的 4:使用getTime

WH.shared.addScrollLoadItem(‘0b2286360fed1f50dfe8d29fd5f7740a’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/2/24/4301351-13.jpg/v4-460px-4301351-13.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/2/24/4301351-13.jpg/v4-728px-4301351-13.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
1
使用getTime。尽管前面的任何一种方法都可能更具可读性,因而也更可取,但是也可以直接比较两个日期的时间点。这是对两种原始数据类型的比较,因此可以使用“”和“==”来比较。

WH.shared.addScrollLoadItem(‘a5786e9c5028a5cae082e0227fecbfcc’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/c/c3/4301351-14.jpg/v4-460px-4301351-14.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/c/c3/4301351-14.jpg/v4-728px-4301351-14.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
2
创建long类型的time对象。在比较日期之前,必须使用前面创建的Date对象中的数据来创建长整型。幸好getTime()方法可以帮你完成大部分工作。

long time1 = getTime(date1); //用date1声明原始数据time1
long time2 = getTime(date2); //用date2声明原始数据time2

WH.shared.addScrollLoadItem(‘b1c328e0cfb041a651c3dbdf251fb575’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/6/62/4301351-15.jpg/v4-460px-4301351-15.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/6/62/4301351-15.jpg/v4-728px-4301351-15.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
3
进行少于比较。使用小于号(”}
4
进行大于比较。使用大于号(>)比较这两个整数值。由于time1大于time 2,所以应该输出第一条消息。为了使语法正确使用了else语句。

if(time2 > time1){
System.out.println(“date2 is after date1”); //将会输出这句话,因为time2 > time1
}
else{
System.out.println(“date2 is not after date1”);
}

WH.shared.addScrollLoadItem(‘f8e9f035006caa120cbafd4119f5fb8b’)

{“smallUrl”:”https://www.wikihow.com/images_en/thumb/d/dd/4301351-17.jpg/v4-460px-4301351-17.jpg”,”bigUrl”:”https://www.wikihow.com/images/thumb/d/dd/4301351-17.jpg/v4-728px-4301351-17.jpg”,”smallWidth”:460,”smallHeight”:345,”bigWidth”:728,”bigHeight”:546,”licensing”:”

“}
5
进行等于比较。使用等于符号检查是否相等(==),从而比较这两个整数值是否相等。由于time1等于time3,所以应该输出第一个消息。如果程序执行了else语句,意味着这两个时间不相等。[4]
X
研究来源

if(time1 == time2){
System.out.println(“the dates are equal”);
}
else{
System.out.println(“the dates are not equal”); //将会输出这句话,因为time1 != time2
}

广告

WH.ads.addBodyAd(‘mobilemethod_ad_4’)


已发布

分类

作者:

标签

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注