日期格式转换

Posted fbbg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日期格式转换相关的知识,希望对你有一定的参考价值。

第一种:在实体类中相关字段上加注解

     @DateTimeFormat(pattern="yyyy-MM-dd")//此注解是在往数据库输入数据时转换格式

     @JsonFormat(pattern="yyyy-MM-dd" timezone="GMT+8")

       //此注解是在数据出去时进行转换,该注解不是spring自带,使用时需要配置依赖,但是springboot项目不用再手动配置

第二种:创建BaseController,然后需要日期类型转换的controller都要继承它

//使用这个转换器每个controller都要继承才能起作用
public class BaseController {
//    日期类型转换器
//@InitBinder注解的方法可以对WebDataBinder进行初始化,WebDataBinder是DataBinder的子类,用于完成由表单到JavaBean属性的绑定
//@InitBinder方法不能有返回值,它必须盛名为void
@InitBinder public void init(WebDataBinder binder){ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); // 严格转换,不会自动对日期进行增减处理 simpleDateFormat.setLenient(false); binder.registerCustomEditor(Date.class,new CustomDateEditor(simpleDateFormat,true)); } }

第三种:创建日期全局转换器,需要再mvc.xml中进行注册

//日期全局转换器
//需要实现Converter<S,T>接口
public class DateConverter implements Converter<String,Date> {

    @Override
    public Date convert(String s) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
//        严格转换:不会自动进行日期的增加处理
        simpleDateFormat.setLenient(false);
        try {
            Date date=simpleDateFormat.parse(s);
            return date;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return new Date();
    }
}

mvc.xml中配置

<mvc:annotation-driven conversion-service="conversionService">
 </--配置参数输出的转换器-->
< mvc:message-converters>
   < bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" >
    <property name="objectMapper" >
      <bean class="com.fasterxml.jackson.databind.ObjectMapper" >
        <property name ="dateFormat" >
          <bean class= "java.text. SimpleDateFormat" >
            < constructor-arg type ="javalang.String" value= yyyy-MM-dd"/>|
       </bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
//参数输入时的转换器 <bean id="conversionService" class="org.springFramework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.hsxx.controller.DateConverter"/> </set> </property> </bean>

 

以上是关于日期格式转换的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的 DatePicker 片段中传输格式化的日期字符串?

如何使用php将日期格式转换为日期时间格式[重复]

vue.js怎样将时间戳转化为日期格式

Sql日期时间格式转换大全

PHP日期格式怎么转换

java中怎么验证日期格式,要各种日期格式都能验证,代码比较简单的。