From b21fc542a0ae534eeec6b08a0f97281440eba1ab Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 21 Sep 2020 16:07:14 +0800
Subject: [PATCH] update
---
src/main/java/com/moral/common/convert/StringToDateConverter.java | 40 +++++++++++++++++++++++++++++-----------
1 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/moral/common/convert/StringToDateConverter.java b/src/main/java/com/moral/common/convert/StringToDateConverter.java
index 0e8a5b0..e999880 100644
--- a/src/main/java/com/moral/common/convert/StringToDateConverter.java
+++ b/src/main/java/com/moral/common/convert/StringToDateConverter.java
@@ -1,28 +1,46 @@
package com.moral.common.convert;
+import com.moral.common.exception.BusinessException;
import com.moral.common.util.StringUtils;
+import org.apache.log4j.Logger;
import org.springframework.core.convert.converter.Converter;
-
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.Date;
/**
- * ������������������������������
- * @author byshome
- * @version $Id: StringToDateConverter.java, v 0.1 2015���9���24��� ������7:19:41 byshome Exp $
+ *
+ * ������������������������������:
+ * @author: fengxiang
+ * @date: 2018/7/30 14:40
*/
public class StringToDateConverter 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 Logger log = Logger.getLogger(StringToDateConverter.class);
+ private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
+ private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);
/**
* @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object)
*/
@Override
public Date convert(String source) {
- if(StringUtils.isNullOrEmpty(source)){
- throw new RuntimeException(String.format("parser %s to Date fail", source));
- };
- return new Date(Long.parseLong(source.substring(0,source.length()-3)+"000"));
+ try {
+ if(StringUtils.isNullOrEmpty(source)){
+ return null;
+ }
+ if(StringUtils.isNumericZidai(source)) {
+ source = source.length() == 10 ? source+"000" : source;
+ return new Date(Long.parseLong(source));
+ } else {
+ return simpleDateFormat.parse(source);
+ }
+ } catch (ParseException e) {
+ e.printStackTrace();
+ log.error(e.getMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error(e.getMessage());
+ }
+ return null;
}
}
\ No newline at end of file
--
Gitblit v1.8.0