![JAR search and dependency download from the Maven repository](/logo.png)
com.zoi7.component.web.config.DateConverterConfig Maven / Gradle / Ivy
package com.zoi7.component.web.config;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Date参数格式化
*
* 尝试格式化java.util.Date类型的参数
*
* @author yjy
* 2018-04-27 9:58
*/
@Component
public class DateConverterConfig implements Converter {
private static final String[] formats = new String[] {
"yyyy-MM-dd", // 0
"yyyy-MM", // 1
"yyyy-MM-dd HH:mm:ss", // 2
"yyyy-MM-dd HH:mm", // 3
};
/**
* 这里将参数格式化成 java.sql.Date 为了方便后面用来拼接sql
* @param param 日期格式的字符串
* @return java.sql.Date
*/
@Override
public java.sql.Date convert(String param) {
if ("".equals(param.trim())) {
return null;
}
param = param.trim();
if (param.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
return parseDate(param, formats[0]);
}
if (param.matches("^\\d{4}-\\d{1,2}$")) {
return parseDate(param, formats[1]);
}
if (param.matches("^\\d{4}-\\d{1,2}-\\d{1,2} \\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
return parseDate(param, formats[2]);
}
if (param.matches("^\\d{4}-\\d{1,2}-\\d{1,2} \\d{1,2}:\\d{1,2}$")) {
return parseDate(param, formats[3]);
}
throw new IllegalArgumentException("Invalid date param '" + param + "'");
}
/**
* 格式化日期
* @param dateStr 日期字符串
* @param format 格式
* @return 日期
*/
private java.sql.Date parseDate(String dateStr, String format) {
java.sql.Date date = null;
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
Date dates = simpleDateFormat.parse(dateStr);
date = new java.sql.Date(dates.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy