code: public static Date getJavaDate(final double excelDate, final boolean use1904windowing) {
          final Calendar cal = getJavaCalendar(excelDate, use1904windowing);
          return cal == null ? null : cal.getTime();
      }
docs: Given an Excel date with either 1900 or 1904 date windowing, converts it
  to a java.util.Date.
  
  NOTE: If the default <code>TimeZone</code> in Java uses Daylight Saving
  Time then the conversion back to an Excel date may not give the same
  value, that is the comparison <CODE>excelDate ==
  getExcelDate(getJavaDate(excelDate,false))</CODE> is not always true.
  For example if default timezone is <code>Europe/Copenhagen</code>, on
  2004-03-28 the minute after 01:59 CET is 03:00 CEST, if the excel date
  represents a time between 02:00 and 03:00 then it is converted to past
  03:00 summer time
  
  @param excelDate
  The Excel date.
  @param use1904windowing
  true if date uses 1904 windowing, or false if using 1900 date
  windowing.
  @return Java representation of the date, or null if date is not a valid
  Excel date
  @see java.util.TimeZone