java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > spring时间格式化

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 开发中,我们经常会遇到前台和后台进行时间格式转换交互,下面做一下总结

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

您可能感兴趣的文章:
阅读全文