Java 如何根据时区计算时间

Java 如何根据时区计算时间,java,Java,我在数据库中将时区值存储为+5:30或+2:00或-1:00 我正在从数据库中获取数据,并根据java中的时区更改时间 在这里,我想知道如何根据保存的时区值获取时间。使用时区和日历。在询问之前检查一下 例如,或 这应该得到用户正在使用的计算机已设置为的时区 除非您想通过ping服务器并进行服务器端检查以查看IP来自何处来使用复杂的解决方案,否则这是最接近的解决方案。使用SimpleDataFormat和setTimeZone 目前可能的答案 TimeZone tz = Calendar.getI

我在数据库中将时区值存储为+5:30或+2:00或-1:00

我正在从数据库中获取数据,并根据java中的时区更改时间

在这里,我想知道如何根据保存的时区值获取时间。

使用时区和日历。在询问之前检查一下

例如,或

这应该得到用户正在使用的计算机已设置为的时区

除非您想通过ping服务器并进行服务器端检查以查看IP来自何处来使用复杂的解决方案,否则这是最接近的解决方案。

使用SimpleDataFormat和setTimeZone

目前可能的答案
TimeZone tz = Calendar.getInstance().getTimeZone();
System.out.println(tz.getDisplayName());// (i.e. Moscow Standard Time)
System.out.println(tz.getID()); 
String timeZone = "GMT" + offset // offset is the value you store in the db( +5:30, -2:30)

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone(timeZone));
Date date = format.parse("2014-11-19T09:01:02");