Pl帮助我。我以UTC格式保存日期。在显示它时,我将它转换为当地时间。但它显示服务器时间。如何通过使用java
标识客户端时区来显示日期答案 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日期后将其转换为客户端本地时间