code: public Date getStartTime(Date date)
     {
        Date result = m_startTimeCache.get(date);
        if (result == null)
        {
           ProjectCalendarDateRanges ranges = getRanges(date, null, null);
           if (ranges == null)
           {
              result = getParentFile().getProjectProperties().getDefaultStartTime();
           }
           else
           {
              result = ranges.getRange(0).getStart();
           }
           result = DateHelper.getCanonicalTime(result);
           m_startTimeCache.put(new Date(date.getTime()), result);
        }
        return result;
     }
docs: Retrieves the time at which work starts on the given date, or returns
  null if this is a non-working day.
  
  @param date Date instance
  @return start time, or null for non-working day