Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
package routines;
import java.text.FieldPosition;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import routines.system.FastDateParser;
import routines.system.LocaleProvider;
.........
// code you have to add !!!
/**
* add number of day, month ... to a date
*
* @param date (a <code>Date</code> type value)
* @param nb (the value to add)
* @param dateType (date pattern = ("yyyy","MM","dd","HH","mm","ss","SSS" ))
* @return a new date
*
* {talendTypes} Date
*
* {Category} TalendDate
*
* {param} date(myDate) date : the date to update
*
* {param} date(addValue) nb : the added value
*
* {param} date("MM") dateType : the part to add
*
* {examples}
*
* ->> addDate(2008/11/24 12:15:25, 5,"dd") return 2008/11/29 12:15:25
*
* ->> addDate(2008/11/24 12:15:25, 5,"yyyy")return 2013/11/25 12:15:25
*
* ->> addDate(2008/11/24 12:15:25, 5,"MM") return 2009/02/24 12:15:25
*
* ->> addDate(2008/11/24 12:15:25, 5,"ss") return 2008/11/24 12:15:30 #
*
*/
public static Date addDate(Date date, int nb, String dateType) {
if (date == null || dateType == null) {
return null;
}
Calendar c1 = Calendar.getInstance();
c1.setTime(date);
if (dateType.equalsIgnoreCase("yyyy")) { //$NON-NLS-1$
c1.add(Calendar.YEAR, nb);
} else if (dateType.equals("MM")) { //$NON-NLS-1$
c1.add(Calendar.MONTH, nb);
} else if (dateType.equalsIgnoreCase("dd")) { //$NON-NLS-1$
c1.add(Calendar.DAY_OF_MONTH, nb);
} else if (dateType.equals("HH")) { //$NON-NLS-1$
c1.add(Calendar.HOUR, nb);
} else if (dateType.equals("mm")) { //$NON-NLS-1$
c1.add(Calendar.MINUTE, nb);
} else if (dateType.equalsIgnoreCase("ss")) { //$NON-NLS-1$
c1.add(Calendar.SECOND, nb);
} else if (dateType.equalsIgnoreCase("SSS")) { //$NON-NLS-1$
c1.add(Calendar.MILLISECOND, nb);
} else {
throw new RuntimeException("Can't support the dateType: " + dateType);
}
return c1.getTime();
}