日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java中TimeZone类的常用方法

發布時間:2024/2/2 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 Java中TimeZone类的常用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、TimeZone類的定義

TimeZone類是一個抽象類,主要包含了對于時區的各種操作,可以進行計算時間偏移量或夏令時等操作

二、TimeZone類的常用方法

1、getAvailableIDs()

getAvailableIDs()
獲取Java支持的所有時區ID
System.out.println(Arrays.toString(TimeZone.getAvailableIDs()));

getAvailableIDs(int rawOffset)
根據 時間偏移量 來獲取時區ID
System.out.println(Arrays.toString(TimeZone.getAvailableIDs(28800000)));

2、getDefault()

獲取當前系統的默認時區,中國默認為東八區
// sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
System.out.println(TimeZone.getDefault());

3、setDefault(TimeZone zone)

設置當前系統的默認時區
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
// sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
System.out.println(TimeZone.getDefault());

4、getTimeZone()

getTimeZone(String ID)
根據 時區ID 來獲取其對應的時區
// sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
System.out.println(TimeZone.getTimeZone("GMT+08:00"));

getTimeZone(ZoneId zoneId)
根據 ZoneId 對象來獲取其對應的時區
// sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000,
// dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
System.out.println(TimeZone.getTimeZone(ZoneId.of("GMT+08:00")));

5、getDisplayName()

getDisplayName()
獲取該TimeZone對象的時區名稱
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中國標準時間

getDisplayName(Locale locale)
獲取該TimeZone對象的時區名稱
locale:提供時區名稱的區域設置
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中國標準時間
System.out.println(timeZone.getDisplayName(Locale.ENGLISH)); // China Standard Time

getDisplayName(boolean daylight, int style)
獲取該TimeZone對象的時區名稱
daylight:若為true,則指定夏令時名稱;若為false,則指定標準時間名稱
style:
TimeZone.LONG:顯示全稱
TimeZone.SHORT:顯示簡稱

TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中國標準時間
System.out.println(timeZone.getDisplayName(false, TimeZone.LONG)); // 中國標準時間
System.out.println(timeZone.getDisplayName(false, TimeZone.SHORT)); // CST

getDisplayName(boolean daylight, int style, Locale locale)
獲取該TimeZone對象的時區名稱
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getDisplayName()); // 中國標準時間
System.out.println(timeZone.getDisplayName(false, TimeZone.LONG, Locale.ENGLISH)); // China Standard Time

6、setID(String ID) 和getID()

getID()

獲取該TimeZone對象的時區ID
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getID()); // Asia/Shanghai

setID(String ID)

設置該TimeZone對象的時區ID
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
timeZone.setID("Asia/Chongqing");
System.out.println(timeZone.getID()); // Asia/Chongqing

7、getOffset(long date)

獲取該時間所在時區的時間偏移量
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getOffset(System.currentTimeMillis())); // 28800000

8、getDSTSavings()

在夏令時規則生效時,返回相對于標準時間提前的毫秒數,如果此時區不實施夏令時,則為 0
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
// 國內沒有夏令時,故為0
System.out.println(timeZone.getDSTSavings()); // 0

9、getRawOffset()

獲取時間原始偏移量,該值不受夏令時的影響,故稱為時間原始偏移量
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.getRawOffset()); // 28800000

10、setRawOffset(int offsetMillis)

設置時間原始偏移量
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
timeZone.setRawOffset(25200000);
System.out.println(timeZone.getRawOffset()); // 25200000

11、toZoneId()

將TimeZone對象轉換為ZoneId對象
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
ZoneId zoneId = timeZone.toZoneId();
System.out.println(zoneId); // Asia/Shanghai

12、useDaylightTime()

查詢此時區是否使用夏令時
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.useDaylightTime()); // false

13、inDaylightTime(Date date)

查詢給定的日期是否在此時區的夏令時中
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
System.out.println(timeZone.inDaylightTime(new Date())); // false

14、hasSameRules(TimeZone other)

如果兩時區僅ID不同,且具有相同的規則和時間偏移量,則返回true
如果另一個時區為空,則返回false
TimeZone timeZone1 = TimeZone.getTimeZone("Asia/Shanghai");
TimeZone timeZone2 = TimeZone.getTimeZone("Asia/Chongqing");
System.out.println(timeZone1.hasSameRules(timeZone2)); // true

原文:https://blog.csdn.net/goodbye_youth/article/details/81807273

總結

以上是生活随笔為你收集整理的Java中TimeZone类的常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。