下面我将详细讲解SpringBoot中处理日期的两种方式:
一、使用注解@JsonFormat
@JsonFormat注解是SpringBoot中处理日期的一种常用方式。通过使用@JsonFormat注解,可以方便的将日期格式化为需要的格式。具体的使用方式如下:
- 添加@JsonFormat注解
在需要格式化日期的属性上添加@JsonFormat注解。
public class User {
private String name;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date birthday;
// getter和setter方法省略...
}
- 指定日期格式
指定格式化的日期格式,支持各种格式的日期格式化。如"yyyy-MM-dd"、"yyyy/MM/dd HH:mm:ss"等。
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
- 指定时区
指定日期的时区,如"GMT+8"表示东八区的时间。
@JsonFormat(timezone = "GMT+8")
private Date birthday;
示例代码如下:
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setName("Tom");
user.setBirthday(new Date());
return user;
}
public static void main(String[] args) {
SpringApplication.run(UserController.class, args);
}
}
class User {
private String name;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date birthday;
// getter和setter方法省略...
}
访问http://localhost:8080/user,返回的结果如下:
{
"name": "Tom",
"birthday": "2021-12-01 09:55:22"
}
二、使用时间格式化类SimpleDateFormat
另一种常用的处理日期的方式是使用Java自带的时间格式化类SimpleDateFormat。通过使用SimpleDateFormat,可以将日期格式化为需要的格式。具体的使用方式如下:
- 创建SimpleDateFormat对象
创建一个SimpleDateFormat对象。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
- 将Date类型的日期格式化为指定格式的字符串
调用SimpleDateFormat的format()方法,将需要格式化的日期作为入参,返回格式化后的字符串。
Date date = new Date();
String dateString = simpleDateFormat.format(date);
示例代码如下:
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setName("Tom");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = simpleDateFormat.parse("2000-01-01");
user.setBirthday(date);
} catch (ParseException e) {
e.printStackTrace();
}
return user;
}
public static void main(String[] args) {
SpringApplication.run(UserController.class, args);
}
}
class User {
private String name;
private Date birthday;
// getter和setter方法省略...
}
访问http://localhost:8080/user,返回的结果如下:
{
"name": "Tom",
"birthday": "2000-01-01"
}
以上就是SpringBoot中处理日期的两种方式。希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot中处理日期的两种方式小结 - Python技术站