如何将Facebook的用户信息timzone字段转换为时区名称?



我在使用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,因为ZoneOffsetZoneId的子类,因此可以在任何地方使用ZoneIdZoneId是代表时区的现代Java类。

相关内容

  • 没有找到相关文章

最新更新