是否可以在JHipster应用程序中获取用户的时区?

时间:2015-08-24 04:13:03

标签: java spring-mvc heroku jodatime jhipster

我的JHipster应用程序中有以下代码。当我在笔记本电脑上本地运行时,它为我提供了正确的时区。

@RequestMapping(value = "/points-this-week",
    method = RequestMethod.GET,
    produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<PointsPerWeek> getPointsThisWeek(TimeZone timeZone) {
    DateTimeZone usersTimeZone = DateTimeZone.forID(timeZone.getID());
    log.debug("Getting points for week with timezone: {}", usersTimeZone);

    // Get current date
    LocalDate now = new LocalDate(usersTimeZone);

但是,在Heroku上运行时,timeZone.getID()为&#34; Etc / UTC&#34;。是否可以在JHipster应用程序中获取客户端的时区?

1 个答案:

答案 0 :(得分:2)

TimeZone timeZone保存当前服务器的时区而不是客户端时区。您可以轻松获取客户端区域设置,但对于客户端时区,您应该执行更多操作。默认情况下,时区信息不会在http标头中传递。您可以从浏览器获取客户端时区并将其存储在请求标头或Cookie中,然后在您的服务器上,您可以轻松访问客户端时区。 this是一个有用的图书馆。