2015-08-24 55 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是一個有用的庫。

相關問題