我将 LocalDateTime 用于 RESTful Web 服务中的所有时间戳,并且所有时间戳的初始化和更改都在服务器上进行。
当服务的客户端创建一些资源时,服务器会在内部为该资源分配创建时间戳。
class Resource {
private String data;
private LocalDateTime creationTimestamp;
public Resource(String someData) {
this.data = someData;
this.creationTimestamp = LocalDateTime.now();
}
}
服务器以 JSON 格式返回资源:
{
"data" : "someData",
"creationTimestamp" : "2017-09-22T12:03:44.022"
}
当客户端呈现creationTimestamp
时,它不知道创建此时间戳的服务器时区,并错误地呈现时间。
我看到解决它的唯一方法:将应用程序中的所有时间戳更改为 ZonedDateTime 并将它们与 JSON 中的时区一起返回给客户端。但是这种方法非常昂贵。
有没有其他方法可以解决这个问题?