From 4967f0b4fe4a3ddc1b30d0c08a1b031189b09cc3 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 17 Aug 2018 17:13:11 +0800 Subject: [PATCH] page 查询参数 生成问题 --- src/main/java/com/moral/common/convert/StringToDateConverter.java | 41 ++++++++++++++++++++++++++++++----------- 1 files changed, 30 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..0b16948 100644 --- a/src/main/java/com/moral/common/convert/StringToDateConverter.java +++ b/src/main/java/com/moral/common/convert/StringToDateConverter.java @@ -1,28 +1,47 @@ 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)){ + throw new BusinessException(String.format("parser %s to Date fail", source)); + } + 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