时间表在Java中的实现?

时间表在Java中的实现?,java,Java,我需要一个时间表课程,它将像(一个粗略的例子来解释这个想法): eta应该是时间点,正好比当前时间提前3小时,但只考虑8:00到17:00之间的时间。这听起来像是一个面试问题,但出于商业目的,我需要这样一个类,我怀疑已经存在一些开源实现。我认为这非常接近于将字符串解析为日期,然后使用java.util.Calendar添加或减去日期 检查这个 ,int) 我真的不知道目的是什么,但这似乎是一个理想的行动处方。你检查了吗?当然有一些有用的课程。为了确保我理解您的需要,我想如果“new Date()

我需要一个
时间表
课程,它将像(一个粗略的例子来解释这个想法):


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

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

检查这个 ,int)


我真的不知道目的是什么,但这似乎是一个理想的行动处方。你检查了吗?当然有一些有用的课程。为了确保我理解您的需要,我想如果“new Date()”返回“friday 16:00”,eta将设置为“monday,10:00”?@zim2001您完全正确了
Calendar
类的基本功能的解释与所问的问题有什么关系?我需要一个时间表机制。
Timetable timetable = new Timetable("Mon-Fri 8:00-17:00");
Date eta = timetable.increment(new Date(), 3, Calendar.HOURS);
      // 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());