public static Date normalizeDate( Date fromDate, final Type toType, final boolean convertSerial ) { if ( fromDate == null ) { throw new IllegalArgumentException(); } if ( toType == null ) { throw new IllegalArgumentException(); } if ( convertSerial ) { BigDecimal serial = HSSFDateUtil.getExcelDate( fromDate ); serial = normalizeDate( serial, toType ); fromDate = HSSFDateUtil.getJavaDate( serial ); } // final GregorianCalendar gc = new GregorianCalendar(); // gc.setTime(fromDate); // gc.set(GregorianCalendar.MILLISECOND, 0); // fromDate = gc.getTime(); if ( toType.isFlagSet( Type.TIME_TYPE ) ) { return new Time( fromDate.getTime() ); } else if ( toType.isFlagSet( Type.DATE_TYPE ) ) { return new java.sql.Date( fromDate.getTime() ); } else if ( toType.isFlagSet( Type.DATETIME_TYPE ) ) { return new Date( fromDate.getTime() ); } return fromDate; }
fromDate = HSSFDateUtil.getJavaDate(serial);
/** * Given a excel date, converts it into a Date. Assumes 1900 date windowing. * * @param date the Excel Date * @return Java representation of a date (null if error) */ public static Date getJavaDate( final BigDecimal date ) { final String dateSystem = LibFormulaBoot.getInstance().getGlobalConfig().getConfigProperty ( "org.pentaho.reporting.libraries.formula.ZeroDate", "1900" ); final boolean excelBugCompatible = "true".equals( LibFormulaBoot.getInstance().getGlobalConfig().getConfigProperty ( "org.pentaho.reporting.libraries.formula.ExcelDateBugAware", "false" ) ); return getJavaDate( date, excelBugCompatible, computeZeroDate( dateSystem, excelBugCompatible ) ); }
/** * Given a excel date, converts it into a Date. Assumes 1900 date windowing. * * @param date the Excel Date * @return Java representation of a date (null if error) */ public static Date getJavaDate(final BigDecimal date) { final String dateSystem = LibFormulaBoot.getInstance().getGlobalConfig().getConfigProperty ("org.pentaho.reporting.libraries.formula.ZeroDate", "1900"); final boolean excelBugCompatible = "true".equals(LibFormulaBoot.getInstance().getGlobalConfig().getConfigProperty ("org.pentaho.reporting.libraries.formula.ExcelDateBugAware", "false")); return getJavaDate(date, excelBugCompatible, computeZeroDate(dateSystem, excelBugCompatible)); }
public Date convertToDate( final Type type1, final Object value ) throws EvaluationException { if ( type1.isFlagSet( Type.NUMERIC_TYPE ) || type1.isFlagSet( Type.ANY_TYPE ) ) { if ( type1.isFlagSet( Type.DATE_TYPE ) || type1.isFlagSet( Type.DATETIME_TYPE ) || type1.isFlagSet( Type.TIME_TYPE ) || type1.isFlagSet( Type.ANY_TYPE ) ) { if ( value instanceof Date ) { return DateUtil.normalizeDate( (Date) value, type1 ); } } } final Number serial = convertToNumber( type1, value ); final BigDecimal bd = NumberUtil.getAsBigDecimal( serial ); return HSSFDateUtil.getJavaDate( bd ); }
public Date convertToDate(final Type type1, final Object value) throws EvaluationException { if (type1.isFlagSet(Type.NUMERIC_TYPE) || type1.isFlagSet(Type.ANY_TYPE)) { if (type1.isFlagSet(Type.DATE_TYPE) || type1.isFlagSet(Type.DATETIME_TYPE) || type1.isFlagSet(Type.TIME_TYPE) || type1.isFlagSet(Type.ANY_TYPE)) { if (value instanceof Date) { return DateUtil.normalizeDate((Date) value, type1); } } } final Number serial = convertToNumber(type1, value); final BigDecimal bd = NumberUtil.getAsBigDecimal(serial); return HSSFDateUtil.getJavaDate(bd); }
final BigDecimal fromAsBigDecimal = NumberUtil.getAsBigDecimal( serial ); final BigDecimal normalizedSerial = DateUtil.normalizeDate( fromAsBigDecimal, targetType ); final Date toJavaDate = HSSFDateUtil.getJavaDate( normalizedSerial ); return DateUtil.normalizeDate( toJavaDate, targetType, false );
final Date toJavaDate = HSSFDateUtil.getJavaDate(normalizedSerial); return DateUtil.normalizeDate(toJavaDate, targetType, false);