代码之家  ›  专栏  ›  技术社区  ›  Eric

是否可以在Java中通过区域列表列出可用时区?

  •  3
  • Eric  · 技术社区  · 16 年前

    我需要生成一个时区列表来显示给用户。我们想根据用户的区域设置缩小列表范围。

    如果用户的区域设置为“en-u-us”,他可能不喜欢在列表中看到“asia/ashkhabad”。

    这可行吗?

    4 回复  |  直到 14 年前
        1
  •  4
  •   David Rabinowitz    16 年前

    不可以。可以使用timezone.getAvailableIds(int rawoffset)缩小结果范围,但需要保留区域设置-原始偏移量的映射。

    此外,如果您的用户是位于印度的美国人,会发生什么?你不想给他显示班加罗尔时区吗?

        3
  •  1
  •   CPerkins    16 年前

    当然可以……但是你必须写一些代码。

    你必须在时区选择前面加上过滤时区列表的代码。您可以用一个区域设置到该区域设置的时区集的映射来填充该过滤器。

    然而,正如大卫所指出的,您将面临这样一个问题:人们的区域设置不是他们的工作地点或时区,因此请准备好用两层方法来处理这一问题,或者从某个地方获取“虚拟区域设置”。

        4
  •  -1
  •   ChadNC    16 年前

    你可能会发现 THIS 在实现您想要做的事情时很有用。