Java –使用GMT显示TimeZone的列表

这个Java示例向您展示了如何显示前面带有GMT的TimeZone列表。

PS已通过JDK 1.7测试

Java 8
您可能在此示例中感兴趣– 显示所有ZoneId及其UTC偏移量

TimeZoneExample.java
package com.mkyong.test;

import java.util.TimeZone;
import java.util.concurrent.TimeUnit;

public class TimeZoneExample {

	public static void main(String[] args) {

		String[] ids = TimeZone.getAvailableIDs();
		for (String id : ids) {
			System.out.println(displayTimeZone(TimeZone.getTimeZone(id)));
		}
		
		System.out.println("\nTotal TimeZone ID " + ids.length);

	}

	private static String displayTimeZone(TimeZone tz) {

		long hours = TimeUnit.MILLISECONDS.toHours(tz.getRawOffset());
		long minutes = TimeUnit.MILLISECONDS.toMinutes(tz.getRawOffset()) 
                                  - TimeUnit.HOURS.toMinutes(hours);
		// avoid -4:-30 issue
		minutes = Math.abs(minutes);

		String result = "";
		if (hours > 0) {
			result = String.format("(GMT+%d:%02d) %s", hours, minutes, tz.getID());
		} else {
			result = String.format("(GMT%d:%02d) %s", hours, minutes, tz.getID());
		}

		return result;

	}

}

输出量

(GMT-12:00) Etc/GMT+12
(GMT-11:00) Etc/GMT+11
(GMT-11:00) Pacific/Midway
(GMT-11:00) Pacific/Niue
(GMT-11:00) Pacific/Pago_Pago
(GMT-11:00) Pacific/Samoa
(GMT-11:00) US/Samoa
(GMT-10:00) America/Adak
(GMT-10:00) America/Atka
(GMT-10:00) Etc/GMT+10
(GMT-10:00) HST
(GMT-10:00) Pacific/Honolulu
(GMT-10:00) Pacific/Johnston
(GMT-10:00) Pacific/Rarotonga
(GMT-10:00) Pacific/Tahiti
(GMT-10:00) SystemV/HST10
(GMT-10:00) US/Aleutian
(GMT-10:00) US/Hawaii
(GMT-9:30) Pacific/Marquesas
(GMT-9:00) AST
(GMT-9:00) America/Anchorage
(GMT-9:00) America/Juneau
(GMT-9:00) America/Nome
(GMT-9:00) America/Sitka
(GMT-9:00) America/Yakutat
(GMT-9:00) Etc/GMT+9
(GMT-9:00) Pacific/Gambier
(GMT-9:00) SystemV/YST9
(GMT-9:00) SystemV/YST9YDT
(GMT-9:00) US/Alaska
(GMT-8:00) America/Dawson
(GMT-8:00) America/Ensenada
(GMT-8:00) America/Los_Angeles
(GMT-8:00) America/Metlakatla
(GMT-8:00) America/Santa_Isabel
(GMT-8:00) America/Tijuana
(GMT-8:00) America/Vancouver
(GMT-8:00) America/Whitehorse
(GMT-8:00) Canada/Pacific
(GMT-8:00) Canada/Yukon
(GMT-8:00) Etc/GMT+8
(GMT-8:00) Mexico/BajaNorte
(GMT-8:00) PST
(GMT-8:00) PST8PDT
(GMT-8:00) Pacific/Pitcairn
(GMT-8:00) SystemV/PST8
(GMT-8:00) SystemV/PST8PDT
(GMT-8:00) US/Pacific
(GMT-8:00) US/Pacific-New
(GMT-7:00) America/Boise
(GMT-7:00) America/Cambridge_Bay
(GMT-7:00) America/Chihuahua
(GMT-7:00) America/Creston
(GMT-7:00) America/Dawson_Creek
(GMT-7:00) America/Denver
(GMT-7:00) America/Edmonton
(GMT-7:00) America/Hermosillo
(GMT-7:00) America/Inuvik
(GMT-7:00) America/Mazatlan
(GMT-7:00) America/Ojinaga
(GMT-7:00) America/Phoenix
(GMT-7:00) America/Shiprock
(GMT-7:00) America/Yellowknife
(GMT-7:00) Canada/Mountain
(GMT-7:00) Etc/GMT+7
(GMT-7:00) MST
(GMT-7:00) MST7MDT
(GMT-7:00) Mexico/BajaSur
(GMT-7:00) Navajo
(GMT-7:00) PNT
(GMT-7:00) SystemV/MST7
(GMT-7:00) SystemV/MST7MDT
(GMT-7:00) US/Arizona
(GMT-7:00) US/Mountain
(GMT-6:00) America/Bahia_Banderas
(GMT-6:00) America/Belize
(GMT-6:00) America/Cancun
(GMT-6:00) America/Chicago
(GMT-6:00) America/Costa_Rica
(GMT-6:00) America/El_Salvador
(GMT-6:00) America/Guatemala
(GMT-6:00) America/Indiana/Knox
(GMT-6:00) America/Indiana/Tell_City
(GMT-6:00) America/Knox_IN
(GMT-6:00) America/Managua
(GMT-6:00) America/Matamoros
(GMT-6:00) America/Menominee
(GMT-6:00) America/Merida
(GMT-6:00) America/Mexico_City
(GMT-6:00) America/Monterrey
(GMT-6:00) America/North_Dakota/Beulah
(GMT-6:00) America/North_Dakota/Center
(GM
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值