Java如何使用GMT输出TimeZone列表信息呢?

乔欣 Java经验 发布时间:2023-02-09 06:23:08 阅读数:2765 1
下文笔者讲述使用java代码打印出TimeZone的所有信息的方法及示例分享

获取服务器TimeZone列表

实现思路:
    1.使用静态方法TimeZone.getAvailableIDs() 获取所有的zoneId
	2.使用zoneId依次显示时区的信息
package com.java265.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
...
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202302/16758950665717.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者