簡體   English   中英

Grails - 考慮時區的用戶顯示日期

[英]Grails - display date by taking into account Time Zone's user

我知道我必須在某個地方設置TimeZone,但我不知道如何從用戶“獲取”當前的TimeZone並使用正確的偏移量顯示(動態?)日期。

這是我的代碼:

域:

class MyClass {

  Date myDate

}

控制器:

def unixSeconds = 1386760029
Date date = new Date(unixSeconds*1000L)

GSP:

<g:formatDate format="yyyy-MM-dd HH:mm" date="${MyClassInstance.myDate}" timeZone="${TimeZone.getTimeZone("GMT")}"/>

您不能擁有用戶時區,因為此信息不會在請求中發送。

您可以嘗試使用GeolocationGeoIP獲取用戶位置以檢索用戶所在國家/地區,然后設置相應的時區。

另一種方法是使用JavaScript getTimezoneOffset()方法獲得UTC和本地時間之間的時區差異:

var d = new Date()
var n = d.getTimezoneOffset();

但是讓用戶手動設置其時區更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM