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
的学习成本,提高工作效率
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时间格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
IDEA Error:java: 无效的源发行版: 17错误
本文主要介绍了IDEA Error:java: 无效的源发行版: 17错误,这个错误是因为您的IDEA编译器不支持Java 17版本,您需要更新您的IDEA编译器或者将您的Java版本降级到IDEA支持的版本,本文就来详细的介绍一下2023-08-08springBoot+dubbo+zookeeper实现分布式开发应用的项目实践
本文主要介绍了springBoot+dubbo+zookeeper实现分布式开发应用的项目实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03Java并发编程之ConcurrentLinkedQueue解读
这篇文章主要介绍了Java并发编程之ConcurrentLinkedQueue解读,非阻塞的实现方式则可以使用循环CAS的方式来实现,而ConcurrentLinkedQueue就是juc包中自带的经典非堵塞方式实现的工具类,需要的朋友可以参考下2023-12-12
最新评论