Java-API简析_java.util.TimeZone类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/132268169
出自【进步*于辰的博客】

因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述
  • 2、字段摘要
    • 2.1 static int LONG
    • 2.2 static int SHORT
  • 3、构造方法摘要
    • 3.1 null
  • 4、构造方法摘要
    • 4.1 Object clone()
    • 4.2 static String[] getAvailableIDs()
    • 4.3 static String[] getAvailableIDs(int rawOffset)
    • 4.4 static TimeZone getDefault()
    • 4.5 String getDisplayName()
    • 4.6 String getDisplayName(boolean daylight, int style)
    • 4.7 String getDisplayName(boolean daylight, int style, Locale locale)
    • 4.8 String getDisplayName(Locale locale)
    • 4.9 int getDSTSavings()
    • 4.10 String getID()
    • 4.11 protected int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)
    • 4.12 int getOffset(long date)
    • 4.13 abstract int getRawOffset()
    • 4.14 static TimeZone getTimeZone(String ID)
    • 4.15 boolean hasSameRules(TimeZone other)
    • 4.16 abstract boolean inDaylightTime(Date date)
    • 4.17 static void setDefault(TimeZone zone)
    • 4.18 void setID(String ID)
    • 4.19 abstract void setRawOffset(int offsetMillis)
    • 4.20 abstract boolean useDaylightTime()

1、概述

所有已实现的接口:
Serializable、Cloneable

直接已知子类:
SimpleTimeZone


public abstract class TimeZone extends Object implements Serializable, Cloneable

·TimeZone 表示时区偏移量,也可以计算夏令时

通常,使用 getDefault() 获得 TimeZone,getDefault() 基于程序运行所在的时区创建 TimeZone。例如,对于在日本运行的程序,getDefault() 基于日本标准时间创建 TimeZone 对象。

也可以用 getTimeZone()时区 ID 获取 TimeZone 。例如美国太平洋时区的时区 ID 是 "America/Los_Angeles"。因此,可以使用下面语句获得美国太平洋时间 TimeZone 对象:

TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");

可以使用 getAvailableIDs() 方法来对所有受支持的时区 ID 进行迭代。可以选择受支持的 ID 来获得 TimeZone。如果想要的时区无法用受支持的 ID 之一表示,那么可以指定自定义时区 ID 来生成 TimeZone。自定义时区 ID 的语法是:

CustomID:
        GMT Sign Hours : Minutes
        GMT Sign Hours Minutes
        GMT Sign Hours
Sign: 下面之一
        + -
Hours:
        Digit
        Digit Digit
Minutes:
        Digit Digit
Digit: 下面之一
        0 1 2 3 4 5 6 7 8 9

Hours 必须在 0 至 23 之间,Minutes 必须在 00 至 59 之间。例如,“GMT+10” 和 “GMT+0010” 分别意味着比 GMT 提前 10 小时和 10 分钟。

格式是与区域无关的,并且数字必须取自 Unicode 标准的 Basic Latin 块。没有夏令时转换安排可以用自定义时区 ID 指定。如果指定的字符串与语法不匹配,就使用 “GMT

当创建一个 TimeZone 时,指定的自定义时区 ID 采用下面的语法进行标准化:

NormalizedCustomID:
        GMT Sign TwoDigitHours : Minutes
Sign: 下面之一
        + -
TwoDigitHours:
        Digit Digit
Minutes:
        Digit Digit
Digit: 下面之一
        0 1 2 3 4 5 6 7 8 9

例如,TimeZone.getTimeZone("GMT-8").getID() 返回 “GMT-08:00”。

三字母时区 ID

为了与 JDK 1.1.x 兼容,一些三字母时区 ID(比如 “PST”、“CTT”、“AST”)也受支持。但是,它们的使用被废弃,这是因为相同的缩写经常用于多个时区(例如,“CST” 可以是美国的 “Central Standard Time” 和 “China Standard Time”),但是 Java 平台只可以识别其中一种。

从以下版本开始:
JDK1.1
另请参见:
Calendar、GregorianCalendar、SimpleTimeZone、序列化表格

2、字段摘要

2.1 static int LONG

指出长名称的 getDisplayName() 的风格说明符。

2.2 static int SHORT

指出短名称(比如 “PST”)的 getDisplayName() 的风格说明符。

3、构造方法摘要

3.1 null

单独的构造方法。

4、构造方法摘要

4.1 Object clone()

创建此 TimeZone 的一个副本。

4.2 static String[] getAvailableIDs()

获取受支持的所有可用 ID。

4.3 static String[] getAvailableIDs(int rawOffset)

根据给定的时区偏移量获取可用的 ID。

4.4 static TimeZone getDefault()

获取此主机的默认 TimeZone。

4.5 String getDisplayName()

返回适合于展示给默认区域的用户的时区名称。

4.6 String getDisplayName(boolean daylight, int style)

返回适合于展示给默认区域的用户的时区名称。

4.7 String getDisplayName(boolean daylight, int style, Locale locale)

返回适合于展示给默认区域的用户的时区名称。

4.8 String getDisplayName(Locale locale)

返回适合于展示给默认区域的用户的时区名称。

4.9 int getDSTSavings()

返回要添加到本地标准时间以获取本地挂钟时间的时间量。

4.10 String getID()

获取此时区的 ID。

4.11 protected int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds)

获取当前日期的时区偏移量(在夏令时情况下进行修改)。

4.12 int getOffset(long date)

从给定日期的 UTC 返回此时区的偏移量。

4.13 abstract int getRawOffset()

返回添加到 UTC 以获取此时区中的标准时间的时间量(以毫秒为单位)。

4.14 static TimeZone getTimeZone(String ID)

获取给定 ID 的 TimeZone。

4.15 boolean hasSameRules(TimeZone other)

如果此区域和另一个区域具有相同的规则和偏移量,也就是说,如果此区域只可能在 ID 上与另一个区域不同,则返回 true。

4.16 abstract boolean inDaylightTime(Date date)

查询给定的日期是否在此时区的夏令时中。

4.17 static void setDefault(TimeZone zone)

设置由 getDefault 方法返回的 TimeZone。

4.18 void setID(String ID)

设置时区 ID。

4.19 abstract void setRawOffset(int offsetMillis)

把基准时区偏移量设置到 GMT。

4.20 abstract boolean useDaylightTime()

查询此时区是否使用夏令时。


本文暂缓更新。

你可能感兴趣的:(Java-API,Java-API简析,TimeZone)