Date startTime;
Date endTime;
Date someTime;
if ((startTime.before(someTime)) && (someTime.before(endTime)))
  System.out.println("在范围内!");

解决方案 »

  1.   

    to zhaoxichao(小西)
    someTime是否对应的是我上边例子中的2002-10-1 12:10:12?
    那么endTime对应的是那个时间呢?是2002-12-31 24:30:00还是2002-10-13 05:30:20?
      

  2.   

    楼住的意思是比较时间段是不是在另一个时间段里面。楼上的是比较时间点。不过原理是一样的。只要把
    ((startTime.before(someTime)) && (someTime.before(endTime)))
    换成
    ((startTime.before(somestartTime)) && (endTime.after(someendTime)))就行
      

  3.   

    用Java实现吧,借助Calendar类的after()和before()方法,以下供参考:定义一个时间段类:
    class TimeRange
    {
        private Calendar fromCal = null;
        private Calendar toCal = null;
        public TimeRange(String fromTimeStr,String toTimeStr)
        {
            this.fromCal = this.makeCalendar(fromTimeStr);
            this.toCal = this.makeCalendar(toTimeStr);
        }
        public Calendar getFromCal()
        {
            return this.fromCal;
        }
        public Calendar getToCal()
        {
            return this.toCal;
        }
        private Calendar makeCalendar(String timeStr)
        {
           .....
           Calendar ret = new GregorianCalendar();
           ret.set(....)
           return ret;      
        }
        public boolean isContain(TimeRange anotherTimeRange)
        {
            ....
            boolean isContain = anotherTimeRange.getFromCal().after(this.fromCal) &&
                                anotherTimeRange.getToCal().before(this.toCal);
            return isContain;
        }
        /**
         * test this class
         */
        public static void main(String[] args)
        {
             String t1 = "2001-1-3 12:20:10 ";
             String t2 = "2001-1-4 12:20:10 ";
             String t3 = "2001-1-1 12:20:10 ";
             String t4 = "2001-1-5 12:20:10 ";
             TimeRange r1 = new TimeRange(t1,t2);
             TimeRange r2 = new TimeRange(t3,t4);
             System.out.println(r1.isContain(r2));
        }
    }
      

  4.   

    小西的方法只是个原理,你可以把结束时间取代以下,用 after就行了啊。