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时间格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA通过HttpClient发送HTTP请求的方法示例

    JAVA通过HttpClient发送HTTP请求的方法示例

    本篇文章主要介绍了JAVA通过HttpClient发送HTTP请求的方法示例,详细的介绍了HttpClient使用,具有一定的参考价值,有兴趣的可以了解一下
    2017-09-09
  • SpringBoot中自定义参数绑定步骤详解

    SpringBoot中自定义参数绑定步骤详解

    这篇文章主要介绍了SpringBoot中自定义参数绑定步骤详解,非常不错,具有参考借鉴价值 ,需要的朋友可以参考下
    2018-02-02
  • IDEA Error:java: 无效的源发行版: 17错误

    IDEA Error:java: 无效的源发行版: 17错误

    本文主要介绍了IDEA Error:java: 无效的源发行版: 17错误,这个错误是因为您的IDEA编译器不支持Java 17版本,您需要更新您的IDEA编译器或者将您的Java版本降级到IDEA支持的版本,本文就来详细的介绍一下
    2023-08-08
  • Spring中的ImportSelector接口原理解析

    Spring中的ImportSelector接口原理解析

    这篇文章主要介绍了Spring中的ImportSelector接口原理解析,ImportSelector接口是spring中导入外部配置的核心接口,根据给定的条件(通常是一个或多个注释属性)判定要导入那个配置类,需要的朋友可以参考下
    2024-01-01
  • springBoot+dubbo+zookeeper实现分布式开发应用的项目实践

    springBoot+dubbo+zookeeper实现分布式开发应用的项目实践

    本文主要介绍了springBoot+dubbo+zookeeper实现分布式开发应用的项目实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • java实现在线聊天系统

    java实现在线聊天系统

    这篇文章主要为大家详细介绍了java实现在线聊天系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • Java并发编程之ConcurrentLinkedQueue解读

    Java并发编程之ConcurrentLinkedQueue解读

    这篇文章主要介绍了Java并发编程之ConcurrentLinkedQueue解读,非阻塞的实现方式则可以使用循环CAS的方式来实现,而ConcurrentLinkedQueue就是juc包中自带的经典非堵塞方式实现的工具类,需要的朋友可以参考下
    2023-12-12
  • Java程序中使用JavaMail发送带图片和附件的邮件

    Java程序中使用JavaMail发送带图片和附件的邮件

    这篇文章主要介绍了Java程序中使用JavaMail发送带图片和附件的邮件,JavaMail是专门用来处理邮件的Java API,需要的朋友可以参考下
    2015-11-11
  • springmvc 参数绑定总结

    springmvc 参数绑定总结

    本篇文章主要介绍了详解springmvc 参数绑定,详细的介绍了springmvc各种参数绑定的情况,具有一定的参考价值,有兴趣的可以了解一下。
    2017-03-03
  • 浅谈Java中的interface应用与面向接口编程

    浅谈Java中的interface应用与面向接口编程

    这篇文章主要介绍了浅谈Java中的interface应用与面向接口编程,Java的关键字interface应用,一个接口,多个实现类,面向接口编程,把业务逻辑线提取出来作为接口,具体的业务实现通过该接口的实现类来完成,需要的朋友可以参考下
    2023-10-10

最新评论