/** * 日期時間匹配格式 */ public interface Pattern { // // 常規模式 // ---------------------------------------------------------------------------------------------------- /** * yyyy-MM-dd */ String DATE = "yyyy-MM-dd"; /** * yyyy-MM-dd HH:mm:ss */ String DATETIME = "yyyy-MM-dd HH:mm:ss"; /** * yyyy-MM-dd HH:mm */ String DATETIME_MM = "yyyy-MM-dd HH:mm"; /** * yyyy-MM-dd HH:mm:ss.SSS */ String DATETIME_SSS = "yyyy-MM-dd HH:mm:ss.SSS"; /** * HH:mm */ String TIME = "HH:mm"; /** * HH:mm:ss */ String TIME_SS = "HH:mm:ss"; // // 系統時間格式 // ---------------------------------------------------------------------------------------------------- /** * yyyy/MM/dd */ String SYS_DATE = "yyyy/MM/dd"; /** * yyyy/MM/dd HH:mm:ss */ String SYS_DATETIME = "yyyy/MM/dd HH:mm:ss"; /** * yyyy/MM/dd HH:mm */ String SYS_DATETIME_MM = "yyyy/MM/dd HH:mm"; /** * yyyy/MM/dd HH:mm:ss.SSS */ String SYS_DATETIME_SSS = "yyyy/MM/dd HH:mm:ss.SSS"; // // 無連接符模式 // ---------------------------------------------------------------------------------------------------- /** * yyyyMMdd */ String NONE_DATE = "yyyyMMdd"; /** * yyyyMMddHHmmss */ String NONE_DATETIME = "yyyyMMddHHmmss"; /** * yyyyMMddHHmm */ String NONE_DATETIME_MM = "yyyyMMddHHmm"; /** * yyyyMMddHHmmssSSS */ String NONE_DATETIME_SSS = "yyyyMMddHHmmssSSS"; } public static final String DEFAULT_PATTERN = Pattern.DATETIME; public static final String[] PARSE_PATTERNS = new String[]{ Pattern.DATE, Pattern.DATETIME, Pattern.DATETIME_MM, Pattern.DATETIME_SSS, Pattern.SYS_DATE, Pattern.SYS_DATETIME, Pattern.SYS_DATETIME_MM, Pattern.SYS_DATETIME_SSS }; /** * 解析日期 * * @param date 日期字符串 * * @return 解析后的日期 默認格式:yyyy-MM-dd HH:mm:ss */ public static Date parseDate(String date) { if (StringUtils.isBlank(date)) { return null; } try { return DateUtils.parseDate(date, PARSE_PATTERNS); } catch (ParseException e) { e.printStackTrace(); } return null; } /** * 解析日期 * * @param date 日期 * * @param pattern 格式 * @return 解析后的日期,默認格式:yyyy-MM-dd HH:mm:ss */ public static Date parseDate(String date, String pattern) { if (StringUtils.isBlank(date)) { return null; } String[] parsePatterns; parsePatterns = StringUtils.isNotBlank(pattern) ? new String[] {pattern} : PARSE_PATTERNS; try { return DateUtils.parseDate(date, parsePatterns); } catch (ParseException e) { e.printStackTrace(); } return null; }
DateUtils.parseDate()實現時間解析成對應模式,可以對應着代碼參考一下。