package hudson.plugins.cmvc.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Helper methods for date convertion * * @author <a href="mailto:fuechi@ciandt.com">Fábio Franco Uechi</a> * */ public class DateUtil { /** Date format expected by CMVC */ private static final String CMVC_DATE_FORMAT_INOUT = "yy/MM/dd HH:mm:ss"; private static final SimpleDateFormat SDF = new SimpleDateFormat(CMVC_DATE_FORMAT_INOUT); /** A working calendar. */ private static final Calendar CALENDAR = Calendar.getInstance(); public static final Date MIN_DATE; static { CALENDAR.clear(); CALENDAR.set(CALENDAR.getMinimum(Calendar.YEAR), CALENDAR.getMinimum(Calendar.MONTH), CALENDAR.getMinimum(Calendar.DAY_OF_MONTH), CALENDAR.getMinimum(Calendar.HOUR_OF_DAY), CALENDAR.getMinimum(Calendar.MINUTE), CALENDAR.getMinimum(Calendar.SECOND)); MIN_DATE = CALENDAR.getTime(); } /** * Private constructor to prevent object creation. */ private DateUtil() { } /** * @param cmvcDate * @return * @throws ParseException */ public static Date convertFromCmvcDate(String cmvcDate) throws ParseException { if (cmvcDate != null && !"".equals(cmvcDate)) { return SDF.parse(cmvcDate.substring(1)); } return null; } /** * @param lastBuild * @return */ public static String convertToCmvcDate(Date lastBuild) { if (lastBuild != null) { CALENDAR.setTime(lastBuild); String sufix = CALENDAR.get(Calendar.YEAR) < 2000 ? "0" : "1"; return "'" + sufix + SDF.format(lastBuild) + "'"; } return null; } }