下面就为您详细讲解“java日期时间格式化@JsonFormat与@DateTimeFormat的使用”的完整攻略。
一、前言
在开发 Java 项目时,常常需要对日期时间进行格式化。这时,我们就可以使用@JsonFormat
和@DateTimeFormat
这两个注解来实现。
二、@JsonFormat注解
@JsonFormat
注解是用来指定Java对象的属性在序列化成Json字符串时的格式的。具体来说,@JsonFormat
注解支持以下几个属性:
属性 | 类型 | 说明 |
---|---|---|
pattern | String | 定义日期格式化模式。默认使用 ISO-8601 格式 |
timezone | String | 定义时区,默认使用当前时区 |
下面是一个简单的示例演示如何使用@JsonFormat
注解对日期进行格式化:
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
public class Person {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date birthDate;
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
}
在上面的示例中,使用@JsonFormat
注解指定了日期的格式是“yyyy-MM-dd HH:mm:ss”,时区是“GMT+8”。
三、@DateTimeFormat注解
@DateTimeFormat
注解是用来指定Java对象的属性在绑定到表单参数时的格式的。具体来说,@DateTimeFormat
注解支持以下几个属性:
属性 | 类型 | 说明 |
---|---|---|
pattern | String | 定义日期格式化模式。默认使用 ISO 格式 |
iso | ISO | 指定 ISO-8601 格式 |
style | Style | 可枚举的日期时间格式化样式 |
下面是一个简单的示例演示如何使用@DateTimeFormat
注解对日期进行格式化:
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
public class Person {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthDate;
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
}
在上面的示例中,使用@DateTimeFormat
注解指定了日期的格式是“yyyy-MM-dd HH:mm:ss”。
四、示例
下面是一个完整的示例,演示如何使用@JsonFormat
和@DateTimeFormat
注解对日期进行格式化:
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
public class Person {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthDate;
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
public static void main(String[] args) {
Person person = new Person();
person.setBirthDate(new Date());
System.out.println(person.getBirthDate());
}
}
在上面的示例中,使用@JsonFormat
注解指定了日期的格式是“yyyy-MM-dd HH:mm:ss”,时区是“GMT+8”,使用@DateTimeFormat
注解指定了日期的格式是“yyyy-MM-dd HH:mm:ss”。最后,创建一个Person
对象,将当前时间赋值给日期属性,并打印出日期。
五、总结
到这里,我们就学会了如何使用@JsonFormat
和@DateTimeFormat
注解对日期进行格式化。在实际开发中,我们可以根据具体需求使用不同的注解来控制日期的序列化、反序列化、绑定等操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java日期时间格式化@JsonFormat与@DateTimeFormat的使用 - Python技术站