我在使用oauth2 access_token
后从facebook获取用户信息{
...
"timezone": 5.5,
}
现在我需要将其转换为Zone Name以填充openid connect zoneinfo。
ex : "Asia/Calcutta"
我是从印度请求,在时区地图中我看到+05:30是正确的。但Facebook发行5.5我无法解决这个问题。请帮助我。
答案 0 :(得分:0)
我仍然不知道你正在使用哪种语言(如果有的话)。这是一个Java解决方案:
long secondsPerHour = TimeUnit.HOURS.toSeconds(1);
long offsetSeconds = Math.round(5.5 * secondsPerHour);
if (offsetSeconds < ZoneOffset.MIN.getTotalSeconds()
|| offsetSeconds > ZoneOffset.MAX.getTotalSeconds()) {
System.out.println("Not a valid UTC offset, is out of range");
} else {
ZoneOffset offset = ZoneOffset.ofTotalSeconds((int) offsetSeconds);
System.out.println(offset);
}
打印
+05:30
您可以在预期ZoneOffset
的任何位置使用此代码段中的ZoneId
,因为ZoneOffset
是ZoneId
的子类。 ZoneId
是表示时区的现代Java类。