java程序中date类型比较大小总结
生活随笔
收集整理的這篇文章主要介紹了
java程序中date类型比较大小总结
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
工作中遇到時(shí)間的比較問(wèn)題,這里提供幾種常用的Date類(lèi)型數(shù)據(jù)比較大小方式。
1、 compareTo方法
/*** 時(shí)間比較方法compareTo* 如果的d1比d2 大 結(jié)果=1* 如果的d1比d2 等 結(jié)果=0* 如果的d1比d2 小 結(jié)果=-1** @param d1* @param d2*/private void printResultCompareTo(Date d1,Date d2){if(d1.compareTo(d2) == 1){System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之后");}else if(d1.compareTo(d2) == 0){System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " = " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) );}else{System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之前");}}2、 before方法
/*** 使用before方法比較** @param d1* @param d2*/private void printResultBefore(Date d1,Date d2){if(d1.before(d2)){System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之前");}else{System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之后");}}3、 after方法
/*** 使用after方法比較** @param d1* @param d2*/private void printResultAfter(Date d1,Date d2){if(d1.after(d2)){System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之后");}else{System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之前");}}4、 getTime方法
/*** 使用getTime方法取毫秒值比較** @param d1* @param d2*/private void printResultGetTime(Date d1,Date d2){if(d1.getTime() > d2.getTime()){System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之后");}else if(d1.getTime() == d2.getTime()){System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " = " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) );}else{System.out.println(new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d1) + " 在 " + new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(d2) + "之前");}}測(cè)試代碼
//定義一個(gè)date1String1字符串private final String date1String1 = "2018-09-01 23:23:59";//定義一個(gè)date1String2字符串private final String date1String2 = "2020-04-20 23:23:59";//定義一個(gè)date1String3字符串private final String date1String3 = "2021-04-20 23:23:59";//參數(shù)格式化類(lèi)型private final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";//定義date類(lèi)型數(shù)據(jù)private Date date1;private Date date2;private Date date3;@Beforepublic void beforPrint() throws ParseException {date1 = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).parse(date1String1);date2 = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).parse(date1String2);date3 = new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).parse(date1String3);System.out.println("date1: " + date1String1);System.out.println("date2: " + date1String2);System.out.println("date3: " + date1String3);}/*** 使用compareTo比較*/@Testpublic void testCompare(){System.out.println("--------------使用compareTo比較-----------------");printResultCompareTo(date1, date2);printResultCompareTo(date3, date2);System.out.println("--------------使用before方法比較-----------------");printResultBefore(date1,date2);printResultBefore(date3, date2);System.out.println("--------------使用after方法比較-----------------");printResultAfter(date1, date2);printResultAfter(date3, date2);System.out.println("--------------使用getTime方法比較-----------------");printResultGetTime(date1, date2);printResultGetTime(date3, date2);}測(cè)試結(jié)果如下:
date1: 2018-09-01 23:23:59 date2: 2020-04-20 23:23:59 date3: 2021-04-20 23:23:59 --------------使用compareTo比較----------------- 2018-09-01 23:23:59 在 2020-04-20 23:23:59之前 2021-04-20 23:23:59 在 2020-04-20 23:23:59之后 --------------使用before方法比較----------------- 2018-09-01 23:23:59 在 2020-04-20 23:23:59之前 2021-04-20 23:23:59 在 2020-04-20 23:23:59之后 --------------使用after方法比較----------------- 2018-09-01 23:23:59 在 2020-04-20 23:23:59之前 2021-04-20 23:23:59 在 2020-04-20 23:23:59之后 --------------使用getTime方法比較----------------- 2018-09-01 23:23:59 在 2020-04-20 23:23:59之前 2021-04-20 23:23:59 在 2020-04-20 23:23:59之后總結(jié)
以上是生活随笔為你收集整理的java程序中date类型比较大小总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: zookeeper在window下的搭建
- 下一篇: 文件操作工具类FileUtil