spring中时间格式化的两种方法示例讲解
作者:薛定谔的__猫
这篇文章主要介绍了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
的学习成本,提高工作效率
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时间格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!