|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.util.TimeZone
public abstract class TimeZone
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"。
Calendar,
GregorianCalendar,
SimpleTimeZone,
序列化表格| 字段摘要 | |
|---|---|
static int |
LONG
指出长名称的 getDisplayName() 的风格说明符。 |
static int |
SHORT
指出短名称(比如 "PST")的 getDisplayName() 的风格说明符。 |
| 构造方法摘要 | |
|---|---|
TimeZone()
单独的构造方法。 |
|
| 方法摘要 | |
|---|---|
Object |
clone()
创建此 TimeZone 的一个副本。 |
static String[] |
getAvailableIDs()
获取受支持的所有可用 ID。 |
static String[] |
getAvailableIDs(int rawOffset)
根据给定的时区偏移量(以毫秒为单位)获取可用的 ID。 |
static TimeZone |
getDefault()
获取此主机的默认 TimeZone。 |
String |
getDisplayName()
返回适合于展示给默认区域的用户的时区名称。 |
String |
getDisplayName(boolean daylight,
int style)
返回适合于展示给默认区域的用户的时区名称。 |
String |
getDisplayName(boolean daylight,
int style,
Locale locale)
返回适合于展示给指定区域的用户的时区名称。 |
String |
getDisplayName(Locale locale)
返回适合于展示给指定区域的用户的时区名称。 |
int |
getDSTSavings()
返回要添加到本地标准时间以获取本地挂钟时间的时间量。 |
String |
getID()
获取此时区的 ID。 |
abstract int |
getOffset(int era,
int year,
int month,
int day,
int dayOfWeek,
int milliseconds)
获取当前日期的时区偏移量(在夏令时情况下进行修改)。 |
int |
getOffset(long date)
从给定日期的 UTC 返回此时区的偏移量。 |
abstract int |
getRawOffset()
返回添加到 UTC 以获取此时区中的标准时间的时间量(以毫秒为单位)。 |
static TimeZone |
getTimeZone(String ID)
获取给定 ID 的 TimeZone。 |
boolean |
hasSameRules(TimeZone other)
如果此区域和另一个区域具有相同的规则和偏移量,也就是说,如果此区域只可能在 ID 上与另一个区域不同,则返回 true。 |
abstract boolean |
inDaylightTime(Date date)
查询给定的日期是否在此时区的夏令时中。 |
static void |
setDefault(TimeZone zone)
设置由 getDefault 方法返回的 TimeZone。 |
void |
setID(String ID)
设置时区 ID。 |
abstract void |
setRawOffset(int offsetMillis)
把基准时区偏移量设置到 GMT。 |
abstract boolean |
useDaylightTime()
查询此时区是否使用夏令时。 |
| 从类 java.lang.Object 继承的方法 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 字段详细信息 |
|---|
public static final int SHORT
getDisplayName() 的风格说明符。
LONG,
常量字段值public static final int LONG
getDisplayName() 的风格说明符。
SHORT,
常量字段值| 构造方法详细信息 |
|---|
public TimeZone()
| 方法详细信息 |
|---|
public abstract int getOffset(int era,
int year,
int month,
int day,
int dayOfWeek,
int milliseconds)
如果底层 TimeZone 实现子类支持历史夏令时安排和 GMT 偏移量改变,那么此方法就返回历史上正确的偏移量。
era - 给定日期的年代。year - 给定日期的年份。month - 给定日期的月份。月份是从 0 开始的,比如 0 代表一月。day - 给定日期的月份中的某一天。dayOfWeek - 给定日期的一周中的某一天。milliseconds - 标准 本地时间中天的毫秒数。
Calendar.ZONE_OFFSET,
Calendar.DST_OFFSETpublic int getOffset(long date)
如果底层 TimeZone 实现子类支持历史夏令时安排和 GMT 偏移量改变,那么此方法就返回历史上正确的偏移值。
date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来以毫秒表示的日期
Calendar.ZONE_OFFSET,
Calendar.DST_OFFSETpublic abstract void setRawOffset(int offsetMillis)
如果底层 TimeZone 实现子类支持历史 GMT 偏移量更改,那么指定的 GMT 偏移量被设置为最后的 GMT 偏移量,并通过与已知的最近 GMT 偏移值的差别对所有历史 GMT 偏移值进行调整。
offsetMillis - GMT 的给定基准时区偏移量。public abstract int getRawOffset()
如果底层 TimeZone 实现子类支持历史 GMT 的偏移量变化,那么此方法返回当前日期的原始偏移量值。例如,在火奴鲁鲁(美国夏威夷州的首府和港市),它的原始偏移量在 1947 年从 GMT-10:30 改变到 GMT-10:00,并且此方法始终返回 -36000000 毫秒(即 -10 小时)。
Calendar.ZONE_OFFSETpublic String getID()
public void setID(String ID)
ID - 新的时区 ID。public final String getDisplayName()
public final String getDisplayName(Locale locale)
locale - 要提供显示名称的区域。
public final String getDisplayName(boolean daylight,
int style)
daylight - 如果为 true,则返回夏令时名称。style - LONG 或 SHORT
public String getDisplayName(boolean daylight,
int style,
Locale locale)
daylight - 如果为 true,返回夏令时名称。style - LONG 或 SHORTlocale - 要提供显示名称的区域。
IllegalArgumentException - 风格是无效的。public int getDSTSavings()
如果此时区遵守夏令时规则,则默认的实现始终返回 3600000 毫秒(即 1 小时)。否则,返回 0(零)。
如果底层 TimeZone 实现子类支持历史夏令时变化,则此方法返回已知的最新夏令时值。
public abstract boolean useDaylightTime()
如果底层 TimeZone 实现子类支持历史夏令时安排变化,那么方法引用最新的夏令时安排信息。
public abstract boolean inDaylightTime(Date date)
date - 给定的日期。
public static TimeZone getTimeZone(String ID)
TimeZone。
ID - TimeZone 的 ID,要么是缩写(如 "PST" ),要么是全名(如 "America/Los_Angeles"),要么是自定义 ID(如 "GMT-8:00")。注意,对缩写的支持只是出于 JDK 1.1.x 兼容性的考虑,因此应该使用全名。
TimeZone,如果给定的 ID 无法理解,则返回 GMT 区域。public static String[] getAvailableIDs(int rawOffset)
rawOffset - 给定的时区 GMT 偏移量(以毫秒为单位)。
public static String[] getAvailableIDs()
public static TimeZone getDefault()
TimeZone。默认 TimeZone 的来源可能随实现的变化而变化。
TimeZone。setDefault(java.util.TimeZone)public static void setDefault(TimeZone zone)
getDefault 方法返回的 TimeZone。如果 zone 为 null,把默认值重设为第一次启动虚拟机时的最初值。
zone - 新的默认时区getDefault()public boolean hasSameRules(TimeZone other)
other - 要进行比较的 TimeZone 对象
public Object clone()
TimeZone 的一个副本。
Object 中的 cloneTimeZone 的一个副本Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。