Java 若我们知道时区ID,是否可能知道大陆/国家的名称?

Java 若我们知道时区ID,是否可能知道大陆/国家的名称?,java,jakarta-ee,Java,Jakarta Ee,我想知道提供时区id的大陆/国家的名称? 例如 System.out.println(TimeZone.getTimeZone("PDT")); I wanted answer as north america/america. System.out.println(TimeZone.getTimeZone("GMT+05:30")); I wanted answer as asia/india. i am not getting the desired output. The re

我想知道提供时区id的大陆/国家的名称? 例如

System.out.println(TimeZone.getTimeZone("PDT"));

I wanted answer as north america/america. 

System.out.println(TimeZone.getTimeZone("GMT+05:30"));

I wanted answer as asia/india.

i am not getting the desired output.

The reason of asking question :: I am storing in my database on server the timezone(PDT,GMT+05:30) as given by the mobile    
device.Now i need to perform analytics , that my app was  accessed from which continent/country.

谢谢你的帮助

没有。时区在全球范围内是垂直的,有许多国家共享同一时区

例如,印度位于中国西南部,因此,对于某些时区,中国的答案同样正确


查看此网站以获取时区地图以及它们适用于哪些国家:

如果您想反向计算,这可能会有所帮助。。。 某些时区包含一些您正在查找的信息,例如,请尝试:

 for (String s : TimeZone.getAvailableIDs()) {
            System.out.println(s);
 }
输出如下

...
Europe/Amsterdam
Europe/Andorra
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Budapest
Europe/Copenhagen
Europe/Gibraltar
Europe/Ljubljana
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Monaco
Europe/Oslo
Europe/Paris
...
你可以用它来抓取时区并检查它们的信息,你也许可以得到你想要的,尽管需要做很多工作

System.out.println(TimeZone.getTimeZone("Europe/Amsterdam"));
System.out.println(TimeZone.getTimeZone("UTC"));
输出

sun.util.calendar.ZoneInfo[id="Europe/Amsterdam",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=180,lastRule=java.util.SimpleTimeZone[id=Europe/Amsterdam,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]

使用偏移量,可以计算出与UTC时间的关系。即使在一个简单的情况下,你不考虑日光节约等,这是非常复杂,棘手和耗时。可能吧,我想说。

好吧,如果你有GMT+1,那是欧洲和非洲的随机点。更不用说南极洲了。那么GMT+01:00应该返回哪个大陆或国家?因此,不可能按照我的建议获得所需的输出。?而不是GMT+05:30。它在印度和尼泊尔使用。从PST、IST、BST等代码中,这些是特定于国家的代码。。。现在是可能的,有时。Zavior提到的代码非常具体。还有其他一些代码也是特定的,但不是全部。我的感觉是,其中一些很好,但太平洋标准时间可以是太平洋或皮特凯恩标准时间两个不同的时区。但一般来说,时区确实不适合地理定位。