Java判断给定日期哪个大,哪个小;日期类型:YYYY-MM-DD

来源:互联网 发布:linux怎么运行sh脚本 编辑:程序博客网 时间:2024/04/20 12:34

java里面判断日期哪个大,哪个小:

条件:日期类型为YYYY-MM-DD

代码如下:(本方法貌似不行!!!我再看看!!见第二个方法!

     /**      * 判断 date 1 和date2 哪个日期大      * 如果date1>date2   1       * 如果date1 =date2   0      * 如果date1<date2 -1      * 要求date1,date2 格式为 YYYY-MM-DD      * @param date1       * @param date2      * @return     * @throws Exception       */    public static int compareDateByString(String date1,String date2) throws Exception {    SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd");    int result=0;    if (date1.equals(date2)) {return result;}    try{    Date date1Str=format.parse(date1);    Date date2Str=format.parse(date2);    if (date1Str.after(date2Str)) {    result=1;    }else{    result=-1;    }    }catch(ParseException e) {e.printStackTrace();    }return result;    }

第2个方法:(本类中包括测试方法,测试结果见最底下)

package test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class TestDate2 {static String datetimeFormat = "yyyy-MM-dd HH:mm:ss";public static void main(String[] args) {String date1 = "2014-03-06";String date2 = "2014-03-09";int result = 0;result = compareDate(date1,date2);System.out.println("date1和date2相差"+result+"天");result = compareDate(date2,date1);System.out.println("交换比较位置后,date1和date2相差"+result+"天");}    public static Date getDateFromString(String s)  {    Date returnDate = new Date();        try {            SimpleDateFormat sdf = new SimpleDateFormat(datetimeFormat);            returnDate = sdf.parse(s);                    } catch (ParseException e) {            e.printStackTrace();        }        return returnDate;    }    /*     * 该方法用于比较两个用字符串表示的日期     * param strDate1,strDate2 要求的格式为'yyyy-mm-dd'     * 返回值为两个日期相差的天数     */    public static int compareDate(String strDate1, String strDate2)                            {        int returnVal = 0;        try {            Date date1 = getDateFromString(strDate1 + " 00:00:00");            Date date2 = getDateFromString(strDate2 + " 00:00:00");            returnVal = (int) ((date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24));        } catch (Exception e) {            e.printStackTrace();        }        return returnVal;    }        }

测试结果:

date1和date2相差3天交换比较位置后,date1和date2相差-3天







0 0
原创粉丝点击