java – Spring应用程序显示服务器时间而不是客户端时间

这是我的代码

@RequestMapping(value="/test",method=RequestMethod.GET)
public @ResponseBody String test(HttpServletRequest request) {
    Calendar calendar = new GregorianCalendar(request.getLocale());
    String currentTime = calendar.getTime().toString();
    return"Current Time: " + currentTime;
}

这次向我展示:

Current Time: Fri Nov 30 22:45:42 UTC 2012

我在中央时区,所以应该告诉我这个:

Current Time: Fri Nov 30 14:45:42 CST 2012

为什么我得到服务器时间而不是客户端时间?

最佳答案
无论客户端在哪里,您的代码都会在服务器上执行.在服务器上,您将为该计算机设置时区,该时区将用于计算时间.当你调用calendar.getTime()时,将使用这个时区.

如果您需要客户端时区,则需要发送它并使用SimpleDateFormat将服务器时间转换为客户端时区.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...