code: private void processWorkingHours(ProjectCalendar mpxjCalendar, Sequence uniqueID, Day day, List<OverriddenDayType> typeList)
     {
        if (isWorkingDay(mpxjCalendar, day))
        {
           ProjectCalendarHours mpxjHours = mpxjCalendar.getCalendarHours(day);
           if (mpxjHours != null)
           {
              OverriddenDayType odt = m_factory.createOverriddenDayType();
              typeList.add(odt);
              odt.setId(getIntegerString(uniqueID.next()));
              List<Interval> intervalList = odt.getInterval();
              for (DateRange mpxjRange : mpxjHours)
              {
                 Date rangeStart = mpxjRange.getStart();
                 Date rangeEnd = mpxjRange.getEnd();
  
                 if (rangeStart != null && rangeEnd != null)
                 {
                    Interval interval = m_factory.createInterval();
                    intervalList.add(interval);
                    interval.setStart(getTimeString(rangeStart));
                    interval.setEnd(getTimeString(rangeEnd));
                 }
              }
           }
        }
     }
docs: Process the standard working hours for a given day.
  
  @param mpxjCalendar MPXJ Calendar instance
  @param uniqueID unique ID sequence generation
  @param day Day instance
  @param typeList Planner list of days