首先,我们需要在pom.xml中引入依赖:
pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
作为标准的JavaWeb项目,
有一个model模块中的entity类,
User.java
private String id;
private String name;
private String password;
private Date createTime;
//set和get方法省略
...
和一个Controller类
UserController.java
....
@RestController
@RequestMapping("user")
public class UserController {
@Resource
private UserService =userService;
@PostMapping("detail/{id}")
public String selectUserById(@PathVariable String id) {
// selectUser:具体从数据库检索该id的用户的方法。
User user = userService.selectUser(id);
return user.toJSONString();
}
}
项目启动后,我们可以访问localhost:8080/user/detail/123
得到的数据如下:
{
"id":123,
"name":"zhangsan",
"password":"1234567890",
"createTime":1587979173
}
可以看到,创建时间的输出的数据格式为一个时间戳,所以,可以使用fastjson将后台传过来的时间戳格式化。
添加如下注释即可格式化时间戳:
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
我们可以将Model模块中的entity类User.java修改如下:
User.java
private String id;
private String name;
private String password;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//set和get方法省略
...
我们再访问localhost:8080/user/detail/123
得到的结果:
{
"id":123,
"name":"zhangsan",
"password":"1234567890",
"createTime":"2020-04-27 17:19:33"
}
可以看到,创建时间的格式由时间戳格式化成固定格式的日期字符串了。
以上、便是使用Fastjson将时间戳格式化为固定格式的日期字符串方法。