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

Java 使用用户会话时区显示日期和时间,java,Java,请帮帮我。我正在以UTC格式保存日期。在显示时,我将其转换为本地时间。但它显示的是服务器时间。如何通过识别客户端时区来显示日期?使用java试试以下方法: int offset = TimeZone.getDefault().getRawOffset() + (Calendar.getInstance().getTimeZone().inDaylightTime(yourDate) ? TimeZone.getDefault().getDSTSavings() : 0); you

请帮帮我。我正在以UTC格式保存日期。在显示时,我将其转换为本地时间。但它显示的是服务器时间。如何通过识别客户端时区来显示日期?使用java试试以下方法:

int offset = TimeZone.getDefault().getRawOffset() +
(Calendar.getInstance().getTimeZone().inDaylightTime(yourDate) ? TimeZone.getDefault().getDSTSavings() : 0);
        yourDate.setTime(yourDate.getTime() + offset);
它对我有用,希望对你有用


p.S.在获取UTC日期后,如果将其转换为客户端本地时间,则此代码应位于客户端上

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


如果JavaScript可以为您工作,那么这个库似乎易于使用且相当健壮:

它是一个web应用程序还是一个繁重的客户端?它会有帮助吗?为了更快地获得更好的帮助,请将您的代码作为演示您的问题的工具发布。这允许用户复制/粘贴和复制您的问题。