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 に答える