计算一个日期是否在2个日期之间

来源:互联网 发布:手机淘宝如何开店 编辑:程序博客网 时间:2024/05/22 06:35

计算一个日期是否在2个日期之间

思路是,2个日期之差可以算出来

对比2个日期的差,如果date3-date1的日期 小于 date2-date1 那么就冲突否则不冲突

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class Test {

private static String date1="2010-01-01";
private static String date2="2014-09-01";
private static String date3="2016-05-23";
public static void main(String[] args){
   SimpleDateFormat formt=new SimpleDateFormat("yyyy-MM-dd");
   Calendar startCal = new GregorianCalendar();
        Calendar dealCal = new GregorianCalendar();
        Calendar endCal = new GregorianCalendar();
    try {
    Date d1=formt.parse(date1);
    Date d2=formt.parse(date2);
    Date d3=formt.parse(date3);
    startCal.setTime(d1);
    dealCal.setTime(d2);
    endCal.setTime(d3);
    long t1 = startCal.getTimeInMillis();
             long t2 = dealCal.getTimeInMillis();
             long t3 = endCal.getTimeInMillis();
             //计算相差天数
             long days = (t2 - t1)/(24 * 60 * 60 * 1000);
             long temp = (t3 - t1)/(24 * 60 * 60 * 1000);
             if(temp<days){
            System.out.println("日期冲突");
             }else
             {
            System.out.println("日期没有发生冲突");
             }
            
   } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
}
}