代码之家  ›  专栏  ›  技术社区  ›  David Parks

如何生成与java时区对应的时区的良好下拉列表

  •  4
  • David Parks  · 技术社区  · 14 年前

    其他webapp使用什么策略来生成格式良好的用户首选时区列表?

    我试着获取所有时区,但是列表很长,对于用户来说格式不太好。

    只是想知道别人是怎么做的。

    2 回复  |  直到 14 年前
        1
  •  3
  •   khachik    14 年前

    以下代码段

    ...
    String [] ids = TimeZone.getAvailableIDs();
    for(String id:ids) {
      TimeZone zone = TimeZone.getTimeZone(id);
      int offset = zone.getRawOffset()/1000;
      int hour = offset/3600;
      int minutes = (offset % 3600)/60;
      System.err.println(String.format("(GMT%+d:%02d) %s", hour, minutes, id));
    }   
    ...
    

    将打印格式化的时区,如:

    (GMT+12:00) Pacific/Tarawa
    (GMT+12:00) Pacific/Wake
    (GMT+12:00) Pacific/Wallis
    (GMT+12:45) NZ-CHAT
    

    您可能需要为给定的不同偏移和/或时区添加筛选 zone.getDisplayName(zone.useDaylightTime(), TimeZone.SHORT) .

        2
  •  0
  •   Guillaume    14 年前

    一个简单的方法是将时区id放入列表,而不是时区本身。 TimeZone.getAvailableIDs() 返回GMT、欧洲/巴黎、美洲/纽约等值。。。