package cn.jeesoft.core.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtils { public static final String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss"; public static final String FORMAT_FULL_NOSEPARATOR = "yyyyMMddHHmmss"; public static final String FORMAT_DATE = "yyyy-MM-dd"; public enum FieldType { YEAR(Calendar.YEAR), MONTH(Calendar.MONTH), DAY(Calendar.DAY_OF_MONTH), HOUR(Calendar.HOUR_OF_DAY), MINUTE(Calendar.MINUTE), SECOND(Calendar.SECOND), ; private int code; private FieldType(int code) { this.code = code; } public int getCode() { return this.code; } } public static String format(Date date, String format) { if (date == null) { return ""; } else if (StringUtils.isEmpty(format)) { format = FORMAT_FULL; } return new SimpleDateFormat(format).format(date); } public static String format(Date date) { return format(date, FORMAT_FULL); } public static Date parse(String date, String fromat) { try { return new SimpleDateFormat(fromat).parse(date); } catch (ParseException e) { return null; } } public static Date parse(String date) { try { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date); } catch (ParseException e1) { try { return new SimpleDateFormat("yyyyMMddHHmmss").parse(date); } catch (ParseException e2) { try { return new SimpleDateFormat("yyyy-MM-dd").parse(date); } catch (ParseException e3) { return null; } } } } /** * 修改时间时间 * @param date * @param type * @param amount * @return */ public static Date append(Date date, FieldType type, int amount) { if (date == null) { return null; } Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(type.getCode(), amount); return calendar.getTime(); } }