|
|
@@ -909,37 +909,29 @@ public class DateUtil extends CalendarUtil {
|
|
|
return parseUTC(dateStr);
|
|
|
}
|
|
|
|
|
|
- if (length == DatePattern.NORM_DATETIME_PATTERN.length()) {
|
|
|
- // yyyy-MM-dd HH:mm:ss
|
|
|
- return parseDateTime(dateStr);
|
|
|
- } else if (length == DatePattern.NORM_DATE_PATTERN.length()) {
|
|
|
- // yyyy-MM-dd
|
|
|
- return parseDate(dateStr);
|
|
|
- } else if (length == DatePattern.NORM_DATETIME_MINUTE_PATTERN.length()) {
|
|
|
- // yyyy-MM-dd HH:mm
|
|
|
- return parse(normalize(dateStr), DatePattern.NORM_DATETIME_MINUTE_FORMAT);
|
|
|
- } else if (length >= DatePattern.NORM_DATETIME_MS_PATTERN.length() - 2) {
|
|
|
- //yyyy-MM-dd HH:mm:ss.SSS
|
|
|
- return parse(normalize(dateStr), DatePattern.NORM_DATETIME_MS_FORMAT);
|
|
|
- }
|
|
|
-
|
|
|
- //含有单个位数数字的日期时间格式
|
|
|
+ //标准日期格式(包括单个数字的日期时间)
|
|
|
dateStr = normalize(dateStr);
|
|
|
if (ReUtil.isMatch(DatePattern.REGEX_NORM, dateStr)) {
|
|
|
final int colonCount = StrUtil.count(dateStr, CharUtil.COLON);
|
|
|
switch (colonCount) {
|
|
|
case 0:
|
|
|
// yyyy-MM-dd
|
|
|
- return parseDate(dateStr);
|
|
|
+ return parse(dateStr, DatePattern.NORM_DATE_FORMAT);
|
|
|
case 1:
|
|
|
// yyyy-MM-dd HH:mm
|
|
|
- return parse(normalize(dateStr), DatePattern.NORM_DATETIME_MINUTE_FORMAT);
|
|
|
+ return parse(dateStr, DatePattern.NORM_DATETIME_MINUTE_FORMAT);
|
|
|
case 2:
|
|
|
// yyyy-MM-dd HH:mm:ss
|
|
|
- return parseDateTime(dateStr);
|
|
|
+ return parse(dateStr, DatePattern.NORM_DATETIME_FORMAT);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 长度判断
|
|
|
+ if (length >= DatePattern.NORM_DATETIME_MS_PATTERN.length() - 2) {
|
|
|
+ //yyyy-MM-dd HH:mm:ss.SSS
|
|
|
+ return parse(dateStr, DatePattern.NORM_DATETIME_MS_FORMAT);
|
|
|
+ }
|
|
|
+
|
|
|
// 没有更多匹配的时间格式
|
|
|
throw new DateException("No format fit for date String [{}] !", dateStr);
|
|
|
}
|