使用用户会话时区显示日期和时间

时间:2013-07-02 07:43:48

标签: java

Pl帮助我。我以UTC格式保存日期。在显示它时,我将它转换为当地时间。但它显示服务器时间。如何通过使用java

标识客户端时区来显示日期

2 个答案:

答案 0 :(得分:3)

HTTP协议无法获取客户端的时区。通常应用程序允许用户在其配置文件或首选项中设置时区。他们可能会使用基于用户IP的地理定位来获得初步猜测,但这不是真的可靠,或者如果可以使用客户端脚本,则使用一段JavaScript代码。

如果JavaScript可以为您工作,那么这个库看起来很容易使用且相当健壮:http://pellepim.bitbucket.org/jstz/

答案 1 :(得分:0)

试试这个:

int offset = TimeZone.getDefault().getRawOffset() +
(Calendar.getInstance().getTimeZone().inDaylightTime(yourDate) ? TimeZone.getDefault().getDSTSavings() : 0);
        yourDate.setTime(yourDate.getTime() + offset);

它对我有用,希望它适合你。

P.S。此代码应在客户端获取UTC日期后将其转换为客户端本地时间