spring中时间格式化的两种方法示例讲解

 更新时间:2023年08月16日 11:15:24   作者:薛定谔的__猫  
这篇文章主要介绍了spring中时间格式化的两种方法,方法一自己格式化,方法二通过配置,结合实例代码讲解的非常详细,文中补充介绍了Spring项目中时间格式化的方法,需要的朋友可以参考下

spring中时间格式化的两种方式

方法一:自己格式化

自己写一个格式化的类,把date类型的时间传进去:

public class DateUtil {
    public static String formatDate(Date date){
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return simpleDateFormat.format(date);
    }
}

重写相关属性的get方法:

   public String getCreateTime() {
        if (createTime==null){
            return "";
        }
        return DateUtil.formatDate(createTime);
    }

然后获取的时间就是正确的格式了。

方法二:配置

在配置文件中(.yml)配置:

  # JSON序列化配置
Spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss # 日期格式

补充:Spring项目中时间格式化的方法

1. 前言

web 开发中,我们经常会遇到前台和后台进行时间格式转换交互,下面做一下总结

  • 使用工具类 SimpleDateFormat
  • 使用 @JsonFormat
  • 使用 @JSONField
  • 使用 @DateTimeFormat
  • 使用第三方组件 Hutool

1.1. 使用工具类 SimpleDateFormat

对于这个工具类这里不做过多的赘述

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateTime = df.format(new Date());

1.2. 使用 @JsonFormat

@JsonFormat 来源于 Jackson Jackson 是一个简单基于 Java 应用库, Jackson 可以轻松的将 Java 对象转换成 json 对象和 xml 文档,同样也可以将 json、xml 转换成 Java 对象。 Jackson 所依赖的 jar 包较少,简单易用并且性能也要相对高些,并且 Jackson 社区相对比较活跃,更新速度也比较快

public class Order {
	// timezone:是时间设置为东八区,避免时间在转换中有误差
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	private Date createDate;
}

1.3. 使用 @JSONField

@JSONField 来源于 fastjson ,是阿里的开源框架,主要进行 JSON 解析和序列化

public class Order {
	@JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date time;
}

1.4. 使用 @DateTimeFormat

@DateTimeFormat spring 自带的处理框架,主要用于将时间格式化

public class Order {
	@DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
}

1.5. @JsonFormat + @DateTimeFormat

public class Order {
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
}

1.6. 使用第三方组件 Hutool

Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率

官网:https://www.hutool.cn/

String dateTime1="2018-02-18 20:53:45";
String dateTime2="2018-02-18";
String dateTime3="20:53:45";
String dateTime4="2018-02-18 20:53";
//将不同的格式转换为Date对象
Date date1=DateUtil.parse(dateTime1);  
System.out.println("date1:"+date1.toString());
Date date2=DateUtil.parse(dateTime2);
System.out.println("date2:"+date2.toString());
Date date3=DateUtil.parse(dateTime3);
System.out.println("date3:"+date3.toString());
Date date4=DateUtil.parse(dateTime4);
System.out.println("date4:"+date4.toString());
//使用DateUtil.parse(String,String):Date 转换为指定格式的Date对象
Date date5=DateUtil.parse(dateTime1, "yyyy-MM-dd");
System.out.println("date5:"+date5.toString());

https://www.jb51.net/article/250370.htm

参考资料:

详细的使用 API 参考

到此这篇关于spring中时间格式化的两种方式的文章就介绍到这了,更多相关spring时间格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot中的@Import注解四种使用方式详解

    SpringBoot中的@Import注解四种使用方式详解

    这篇文章主要介绍了SpringBoot中的@Import注解四种使用方式详解,@Import注解只可以标注在类上,可以结合 @Configuration注解、ImportSelector、ImportBeanDefinitionRegistrar一起使用,也可以导入普通的类,需要的朋友可以参考下
    2023-12-12
  • @RequestMapping 如何使用@PathVariable 从URI中获取参数

    @RequestMapping 如何使用@PathVariable 从URI中获取参数

    这篇文章主要介绍了@RequestMapping 如何使用@PathVariable 从URI中获取参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot文件上传大小设置方式(yml中配置)

    SpringBoot文件上传大小设置方式(yml中配置)

    这篇文章主要介绍了SpringBoot文件上传大小设置方式(yml中配置),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java并发 CompletableFuture异步编程的实现

    Java并发 CompletableFuture异步编程的实现

    这篇文章主要介绍了Java并发 CompletableFuture异步编程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Redis集群与SSM整合使用方法

    Redis集群与SSM整合使用方法

    这篇文章主要介绍了Redis集群与SSM整合使用方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Spring Boot 如何通过ServletRequestHandledEvent事件实现接口请求的性能监控

    Spring Boot 如何通过ServletRequestHandledEvent事件实现接口请求的性能监控

    在Spring框架中,监控接口请求的性能可以通过ServletRequestHandledEvent事件实现,这篇文章给大家介绍Spring Boot 如何通过ServletRequestHandledEvent事件实现接口请求的性能监控,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 利用Java多线程技术导入数据到Elasticsearch的方法步骤

    利用Java多线程技术导入数据到Elasticsearch的方法步骤

    这篇文章主要介绍了利用Java多线程技术导入数据到Elasticsearch的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • SpringCloud-Config分布式配置代码示例

    SpringCloud-Config分布式配置代码示例

    这篇文章主要介绍了SpringCloud-Config分布式配置代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Springboot整合Swagger3全注解配置(springdoc-openapi-ui)

    Springboot整合Swagger3全注解配置(springdoc-openapi-ui)

    本文主要介绍了Springboot整合Swagger3全注解配置(springdoc-openapi-ui),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • java自己手动控制kafka的offset操作

    java自己手动控制kafka的offset操作

    这篇文章主要介绍了java自己手动控制kafka的offset操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02

最新评论