我在使用oauth2 access_token
之后从Facebook获取用户信息{
...
"timezone": 5.5,
}
现在,我需要将其转换为区域名称以填充已提交的OpenID Connect Zoneinfo。
ex : "Asia/Calcutta"
我要求来自印度的要求,在时区地图中,我看到 05:30是正确的。但是Facebook发行5.5我无法解决这个问题。请帮助我。
我仍然不知道您正在追求哪种语言(如果有的话(。这是一个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
,因为ZoneOffset
是ZoneId
的子类,因此可以在任何地方使用ZoneId
。ZoneId
是代表时区的现代Java类。