0

我需要一个Timetable可以工作的类(一个解释这个想法的粗略例子):

Timetable timetable = new Timetable("Mon-Fri 8:00-17:00");
Date eta = timetable.increment(new Date(), 3, Calendar.HOURS);

eta应该是时间点,正好比当前时间提前 3 小时,但只考虑 8:00 到 17:00 之间的时间。这听起来像是一个面试问题,但出于商业目的,我需要这样的课程,而且我怀疑已经存在一些开源实现。

4

1 回答 1

-1

我认为这非常接近将字符串解析为日期,然后使用java.util.Calendar来添加或减去日期。

检查这个 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#add(int , int)

      // create a calendar
      Calendar cal = Calendar.getInstance()

      // print current date
      System.out.println("The current date is : " + cal.getTime());

      // add 20 days to the calendar
      cal.add(Calendar.DATE, 20);
      System.out.println("20 days later: " + cal.getTime());

      // subtract 2 months from the calendar
      cal.add(Calendar.MONTH, -2);
      System.out.println("2 months ago: " + cal.getTime());

      // subtract 5 year from the calendar
      cal.add(Calendar.YEAR, -5);
      System.out.println("5 years ago: " + cal.getTime());
于 2013-01-16T20:58:19.163 回答