四个日期比较,要得到其中的交集,怎么做???

解决方案 »

  1.   

    呵呵,分数太少了。今天有点空,顺便给你写了一个import java.util.*;public class Period {    private Date start;
        private Date end;    public Period(Date start, Date end) {
            this.start = start;
            this.end = end;
        }    public Date getEnd() {
            return this.end;
        }    public Date getStart() {
            return this.start;
        }    public boolean isCorrect() {
            if (this.start == null || this.end == null || start.after(end)) {
                return false;
            } else return true;    }    public static Period getIntersection(Period first, Period second) {
            if (!first.isCorrect() || !second.isCorrect()) {
                return null;
            }        if (first.getEnd().before(second.getStart())
                    || second.getEnd().before(first.getStart())) {
                return null;
            }        ArrayList list = new ArrayList();
            list.add(first.getStart());
            list.add(first.getEnd());
            list.add(second.getStart());
            list.add(second.getEnd());
            Collections.sort(list);
            Date tempStart = (Date) list.get(1);
            Date tempEnd = (Date) list.get(2);        return new Period(tempStart, tempEnd);
        }    public static void main(String[] args) {
            Date d1 = new Date(2005, 3, 1);
            Date d2 = new Date(2005, 3, 2);
            Date d3 = new Date(2005, 3, 3);
            Date d4 = new Date(2005, 3, 4);
            Period p1 = new Period(d1, d3);
            Period p2 = new Period(d2, d4);
            Period p = Period.getIntersection(p1, p2);
            if (null == p) {
                System.out.println("null");
            } else {
                System.out.println(p.getStart());
                System.out.println(p.getEnd());
            }    }}
      

  2.   

    已经运行过,同意mofeir(莫飞)(你们要记得给分)
      

  3.   

    to:mofeir(莫飞)(你们要记得给分)我把你的代码编译了以下,提示这个错误:
    E:\Exercise\Java\test>javac Priod.java
    Note: Priod.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.是什么原因呀?
      

  4.   

    使用了不推荐的作废方法, 莫飞老兄,不该用date了,用Calendar