2015-08-24 23 views
0

我在我的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()是 “ETC/UTC”。是否有可能在JHipster应用程序中获得客户的时区?

回答

2

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

相关问题