public static Calendar getJavaCalendar(double date, boolean use1904windowing, TimeZone timeZone, boolean roundSeconds) {
        if (!isValidExcelDate(date)) {
            return null;
        }
        int wholeDays = (int)Math.floor(date);
        int millisecondsInDay = (int)((date - wholeDays) * DAY_MILLISECONDS + 0.5);
        Calendar calendar;
        if (timeZone != null) {
            calendar = LocaleUtil.getLocaleCalendar(timeZone);
        } else {
            calendar = LocaleUtil.getLocaleCalendar(); // using default time-zone
        }
        setCalendar(calendar, wholeDays, millisecondsInDay, use1904windowing, roundSeconds);
        return calendar;
    }
Get EXCEL date as Java Calendar with given time zone.
@param date  The Excel date.
@param use1904windowing  true if date uses 1904 windowing,
 or false if using 1900 date windowing.
@param timeZone The TimeZone to evaluate the date in
@param roundSeconds round to closest second
@return Java representation of the date, or null if date is not a valid Excel date
fastexcel-core/src/main/java/cn/idev/excel/util/DateUtils.java