|
@@ -0,0 +1,50 @@
|
|
|
|
+package com.yonge.cooleshow.config;
|
|
|
|
+
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
|
+import org.springframework.core.convert.converter.Converter;
|
|
|
|
+
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
+import java.util.Date;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 字符串格式转日期
|
|
|
|
+ */
|
|
|
|
+@Configuration
|
|
|
|
+public class CustomStringDateConverter implements Converter<String, Date> {
|
|
|
|
+ private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
|
|
|
|
+ private static final String shortDateFormat = "yyyy-MM-dd";
|
|
|
|
+ private static final String dateFormat2 = "yyyy/MM/dd HH:mm:ss";
|
|
|
|
+ private static final String shortDateFormat2 = "yyyy/MM/dd";
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Date convert(String source) {
|
|
|
|
+ if (StringUtils.isBlank(source)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ source = source.trim();
|
|
|
|
+ try {
|
|
|
|
+ SimpleDateFormat formatter;
|
|
|
|
+ if (source.contains("-")) {
|
|
|
|
+ if (source.contains(":")) {
|
|
|
|
+ formatter = new SimpleDateFormat(dateFormat);
|
|
|
|
+ } else {
|
|
|
|
+ formatter = new SimpleDateFormat(shortDateFormat);
|
|
|
|
+ }
|
|
|
|
+ return formatter.parse(source);
|
|
|
|
+ } else if (source.contains("/")) {
|
|
|
|
+ if (source.contains(":")) {
|
|
|
|
+ formatter = new SimpleDateFormat(dateFormat2);
|
|
|
|
+ } else {
|
|
|
|
+ formatter = new SimpleDateFormat(shortDateFormat2);
|
|
|
|
+ }
|
|
|
|
+ return formatter.parse(source);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new RuntimeException(String.format("parser %s to Date fail", source));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ throw new RuntimeException(String.format("parser %s to Date fail", source));
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|