public class SimpleTimeZone extends TimeZone
SimpleTimeZone
是
TimeZone
表示使用一个时区与公历的一个具体的子类。该类保持了从时间偏移的偏移,称为原始偏移,并开始和结束规则的日光节约时间计划。因为它只有单值,它不能处理从格林威治标准时间和夏令时时间偏移的历史变迁,除了那
setStartYear
方法可以指定年夏时制开始时间安排的影响。
构建一个日光节约时间SimpleTimeZone
,日程安排可以用一套规则,规则和规则开始。当日光节约时间开始或结束的一天是由一个月,一天,一个星期的价值观相结合。一个月的价值是由一个日历MONTH
字段值来表示,如Calendar.MARCH
。星期值一天的日历DAY_OF_WEEK
值表示,如SUNDAY
。价值组合的含义如下。
MARCH
,天月1日星期0。DAY_OF_WEEK
字段值。例如,指定四月的第二个星期日,APRIL
集月,天月8日星期-
SUNDAY
。MARCH
集月,天月21日一周-
WEDNESDAY
。DAY_OF_WEEK
值天月1。例如,指定十月的最后一个星期日,集月OCTOBER
,每周一天到SUNDAY
和天月1。WALL_TIME
,
STANDARD_TIME
和
UTC_TIME
。例如,如果夏令时结束在凌晨两点在墙上时钟时间,它可以在7200000毫秒的
WALL_TIME
模式规定。在这种情况下,一个结束规则的墙上时钟时间意味着与白天的时间相同的东西。
以下是构建时间区域对象的参数的例子。
// Base GMT offset: -8:00
// DST starts: at 2:00am in standard time
// on the first Sunday in April
// DST ends: at 2:00am in daylight time
// on the last Sunday in October
// Save: 1 hour
SimpleTimeZone(-28800000,
"America/Los_Angeles",
Calendar.APRIL, 1, -Calendar.SUNDAY,
7200000,
Calendar.OCTOBER, -1, Calendar.SUNDAY,
7200000,
3600000)
// Base GMT offset: +1:00
// DST starts: at 1:00am in UTC time
// on the last Sunday in March
// DST ends: at 1:00am in UTC time
// on the last Sunday in October
// Save: 1 hour
SimpleTimeZone(3600000,
"Europe/Paris",
Calendar.MARCH, -1, Calendar.SUNDAY,
3600000, SimpleTimeZone.UTC_TIME,
Calendar.OCTOBER, -1, Calendar.SUNDAY,
3600000, SimpleTimeZone.UTC_TIME,
3600000)
这些参数的规则也适用于规则的方法,如
setStartRule
。
Calendar
,
GregorianCalendar
,
TimeZone
,
Serialized Form
Modifier and Type | Field and Description |
---|---|
static int |
STANDARD_TIME
一个指定为标准时间的开始或结束时间的模式。
|
static int |
UTC_TIME
一开始或结束时间指定为UTC模式不变。
|
static int |
WALL_TIME
指定为壁时钟时间指定的开始或结束时间的模式。
|
Constructor and Description |
---|
SimpleTimeZone(int rawOffset, String ID)
构建一个与给定的基准时区偏移GMT时区ID没有日光节约时间simpletimezone。
|
SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)
构建了一个与给定的基础simpletimezone时区偏移GMT时区ID和规则出发,夏令时结束。
|
SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int dstSavings)
构建了一个与给定的基础simpletimezone时区偏移GMT时区ID和规则出发,夏令时结束。
|
SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int dstSavings)
构建了一个与给定的基础simpletimezone时区偏移GMT时区ID和规则出发,夏令时结束。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
返回该
SimpleTimeZone 实例克隆。
|
boolean |
equals(Object obj)
比较两
SimpleTimeZone 对象平等。
|
int |
getDSTSavings()
返回在日光节约时间内时钟是先进的毫秒的时间。
|
int |
getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)
返回UTC与本地时间毫秒的差异,考虑到原偏移和日光节约的效果,在指定的日期和时间。
|
int |
getOffset(long date)
返回该时区的UTC偏移量在给定的时间。
|
int |
getRawOffset()
获取此时区的时间偏移量偏移量。
|
int |
hashCode()
产生的不是对象的哈希码。
|
boolean |
hasSameRules(TimeZone other)
返回
true 如果该区域具有相同的规则和抵消另一区。
|
boolean |
inDaylightTime(Date date)
如果指定日期在日光节约时间。
|
boolean |
observesDaylightTime()
返回
true 如果这
SimpleTimeZone 遵守夏时制。
|
void |
setDSTSavings(int millisSavedDuringDST)
设置在日光节约时间内时钟的时钟的时间的毫秒数。
|
void |
setEndRule(int endMonth, int endDay, int endTime)
将日光节约时间结束规则设置为一个月内的固定日期。
|
void |
setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime)
设置日光节约时间结束规则。
|
void |
setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime, boolean after)
设置夏令时结束规则平日给定日期一个月内,如之前或之后的第一个星期一后,或第八。
|
void |
setRawOffset(int offsetMillis)
设置偏移的基本时间区
|
void |
setStartRule(int startMonth, int startDay, int startTime)
将日光节约时间开始规则设置为一个月内的固定日期。
|
void |
setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime)
设置日光节约时间开始规则。
|
void |
setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime, boolean after)
设置夏令时开始规则平日给定日期一个月内,如之前或之后的第一个星期一后,或第八。
|
void |
setStartYear(int year)
设置日光节约时间开始年。
|
String |
toString()
返回这个时区的字符串表示形式。
|
boolean |
useDaylightTime()
查询如果这个时区使用日光节约时间。
|
getAvailableIDs, getAvailableIDs, getDefault, getDisplayName, getDisplayName, getDisplayName, getDisplayName, getID, getTimeZone, getTimeZone, setDefault, setID, toZoneId
public static final int WALL_TIME
public static final int STANDARD_TIME
public static final int UTC_TIME
public SimpleTimeZone(int rawOffset, String ID)
rawOffset
基地的时区偏移量在毫秒时间。
ID
-时区名称,是考虑到这种情况。
public SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)
startTime
和
endTime
指定是在墙上时钟时间代表。的日光节约量被假定为3600000毫秒(即,一个小时)。此构造函数等价于:
SimpleTimeZone(rawOffset,
ID,
startMonth,
startDay,
startDayOfWeek,
startTime,
SimpleTimeZone.WALL_TIME
,
endMonth,
endDay,
endDayOfWeek,
endTime,
SimpleTimeZone.WALL_TIME
,
3600000)
rawOffset
-给定的基地从GMT.时区偏移
ID
-时区ID给这个对象。
startMonth
-夏令时开始月。月是一个
MONTH
字段值(0。例如,一月的0。
startDay
的白昼之月,日光节约时间开始。看到这个参数的特殊情况的类描述。
startDayOfWeek
-周夏令时开始的一天。看到这个参数的特殊情况的类描述。
startTime
-夏令时开始在当地的挂钟时间(以毫秒为单位的一天),这是在这种情况下,当地标准时间。
endMonth
-夏令时结束。月是一个
MONTH
字段值(0。例如,十月的9。
endDay
的白昼之月,夏令时结束。看到这个参数的特殊情况的类描述。
endDayOfWeek
-夏令时结束一周。看到这个参数的特殊情况的类描述。
endTime
-日光节约地方挂钟时间结束的时间(以毫秒为单位,一天之内),在这种情况下,当地夏令时间。
IllegalArgumentException
-如果一个月,一天,一周,或时间参数超出范围的开始或结束的规则
public SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int dstSavings)
startTime
和
endTime
是墙上的时钟时间代表。此构造函数等价于:
SimpleTimeZone(rawOffset,
ID,
startMonth,
startDay,
startDayOfWeek,
startTime,
SimpleTimeZone.WALL_TIME
,
endMonth,
endDay,
endDayOfWeek,
endTime,
SimpleTimeZone.WALL_TIME
,
dstSavings)
rawOffset
-给定的基地从GMT.时区偏移
ID
-时区ID给这个对象。
startMonth
-夏令时开始月。月是一个
MONTH
字段值(0。例如,一月的0。
startDay
的白昼之月,日光节约时间开始。看到这个参数的特殊情况的类描述。
startDayOfWeek
-。看到这个参数的特殊情况的类描述。
startTime
-夏令时开始在当地的挂钟的时间,这是在这种情况下,当地标准时间。
endMonth
-夏令时结束。月是一个
MONTH
字段值(0。例如,十月的9。
endDay
的白昼之月,夏令时结束。看到这个参数的特殊情况的类描述。
endDayOfWeek
-夏令时结束一周。看到这个参数的特殊情况的类描述。
endTime
-日光节约地方挂钟时间结束的时间,这是在这种情况下,当地夏令时间。
dstSavings
-日光节约时间在毫秒保存时间。
IllegalArgumentException
-如果一个月,一天,一周,或时间参数超出范围的开始或结束的规则
public SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int dstSavings)
startTime
和
endTime
模式。模式指定
wall time
或
standard time
或
UTC time
。
rawOffset
-给定的基地从GMT.时区偏移
ID
-时区ID给这个对象。
startMonth
-夏令时开始月。月是一个
MONTH
字段值(0。例如,一月的0。
startDay
的白昼之月,日光节约时间开始。看到这个参数的特殊情况的类描述。
startDayOfWeek
-周夏令时开始的一天。看到这个参数的特殊情况的类描述。
startTime
-在指定的时间模式
startTimeMode
夏时制开始时间。
startTimeMode
-指定的开始时间开始时间模式。
endMonth
-夏令时结束。月是一个
MONTH
字段值(0。例如,十月的9。
endDay
的白昼之月,夏令时结束。看到这个参数的特殊情况的类描述。
endDayOfWeek
-夏令时结束一周。看到这个参数的特殊情况的类描述。
endTime
-日光节约时间
endTimeMode
模式指定的结束时间。
endTimeMode
-指定结束时间:结束时间模式
dstSavings
-日光节约时间在毫秒保存时间。
IllegalArgumentException
-如果一个月,一天,一周,更多的时间或时间参数超出范围的开始或结束的规则,或者如果一个时间模式值无效。
WALL_TIME
,
STANDARD_TIME
,
UTC_TIME
public void setStartYear(int year)
year
-夏时制起始年。
public void setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime)
setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2*60*60*1000);
startMonth
-夏令时开始月。月是一个
MONTH
字段值(0。例如,一月的0。
startDay
的白昼之月,日光节约时间开始。看到这个参数的特殊情况的类描述。
startDayOfWeek
-周夏令时开始的一天。看到这个参数的特殊情况的类描述。
startTime
-夏令时开始在当地的挂钟的时间,这是在这种情况下,当地标准时间。
IllegalArgumentException
-如果
startMonth
,
startDay
,
startDayOfWeek
,或
startTime
参数超出范围
public void setStartRule(int startMonth, int startDay, int startTime)
setStartRule(startMonth, startDay, 0, startTime)
startMonth
-夏令时开始月。月是一个
MONTH
字段值(0。例如,一月的0。
startDay
的白昼之月,日光节约时间开始。
startTime
-夏令时开始在当地的挂钟的时间,这是在这种情况下,当地标准时间。看到这个参数的特殊情况的类描述。
IllegalArgumentException
-如果
startMonth
,
startDayOfMonth
,或
startTime
参数超出范围
public void setStartRule(int startMonth, int startDay, int startDayOfWeek, int startTime, boolean after)
startMonth
-夏令时开始月。月是一个
MONTH
字段值(0。例如,一月的0。
startDay
的白昼之月,日光节约时间开始。
startDayOfWeek
-周夏令时开始的一天。
startTime
-夏令时开始在当地的挂钟的时间,这是在这种情况下,当地标准时间。
after
-如果是真的,这一规则选择
dayOfMonth
后的第一个
dayOfWeek
。如果是错的,这条规则选择在
dayOfMonth
最后
dayOfWeek
。
IllegalArgumentException
-如果
startMonth
,
startDay
,
startDayOfWeek
,或
startTime
参数超出范围
public void setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime)
setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2*60*60*1000);
endMonth
-夏令时结束。月是一个
MONTH
字段值(0。例如,十月的9。
endDay
的白昼之月,夏令时结束。看到这个参数的特殊情况的类描述。
endDayOfWeek
-夏令时结束一周。看到这个参数的特殊情况的类描述。
endTime
-日光节约地方挂钟时间结束的时间(以毫秒为单位,一天之内),在这种情况下,当地夏令时间。
IllegalArgumentException
-如果
endMonth
,
endDay
,
endDayOfWeek
,或
endTime
参数超出范围
public void setEndRule(int endMonth, int endDay, int endTime)
setEndRule(endMonth, endDay, 0, endTime)
endMonth
-夏令时结束。月是一个
MONTH
字段值(0。例如,十月的9。
endDay
的白昼之月,夏令时结束。
endTime
-日光节约地方挂钟时间结束的时间(以毫秒为单位,一天之内),在这种情况下,当地夏令时间。
IllegalArgumentException
-
endMonth
,
endDay
,或
endTime
参数超出范围
public void setEndRule(int endMonth, int endDay, int endDayOfWeek, int endTime, boolean after)
endMonth
-夏令时结束。月是一个
MONTH
字段值(0。例如,十月的9。
endDay
的白昼之月,夏令时结束。
endDayOfWeek
-夏令时结束一周。
endTime
-日光节约地方挂钟时间结束的时间(以毫秒为单位,一天之内),在这种情况下,当地夏令时间。
after
-如果是真的,这一规则选择后或
endDay
第一
endDayOfWeek
。如有虚假,本规则选择在本月的最后一
endDayOfWeek
endDay
。
IllegalArgumentException
-
endMonth
,
endDay
,
endDayOfWeek
,或
endTime
参数超出范围
public int getOffset(long date)
getOffset
方法重写,继承类
TimeZone
date
-时间的时区偏移量被发现
Calendar.ZONE_OFFSET
,
Calendar.DST_OFFSET
public int getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)
GregorianCalendar
对象作为其基础的日历,如确定闰年。不要使用此方法的结果与其他非默认
GregorianCalendar
日历。
注意:在一般情况下,客户应使用日历。得到(zone_offset)+日历。得到(dst_offset)而不是调用此方法。
getOffset
方法重写,继承类
TimeZone
era
-给定日期的时代。
year
在给定日期的年份。
month
在给定日期的月。月是0。例如,一月的0。
day
-。
dayOfWeek
给定日期的星期。
millis
标准日毫秒。
IllegalArgumentException
-
era
,
month
,
day
,
dayOfWeek
,或
millis
参数超出范围
Calendar.ZONE_OFFSET
,
Calendar.DST_OFFSET
public int getRawOffset()
getRawOffset
方法重写,继承类
TimeZone
setRawOffset(int)
public void setRawOffset(int offsetMillis)
setRawOffset
方法重写,继承类
TimeZone
offsetMillis
-给定的基本的时区偏移GMT。
getRawOffset()
public void setDSTSavings(int millisSavedDuringDST)
millisSavedDuringDST
-毫秒时间提前与标准时间的数字时,日光节约时间的规则是有效的。一个积极的数字,通常一个小时(3600000)。
getDSTSavings()
public int getDSTSavings()
getDSTSavings
方法重写,继承类
TimeZone
setDSTSavings(int)
public boolean useDaylightTime()
useDaylightTime
方法重写,继承类
TimeZone
TimeZone.inDaylightTime(Date)
,
Calendar.DST_OFFSET
public boolean observesDaylightTime()
observesDaylightTime
方法重写,继承类
TimeZone
true
SimpleTimeZone
遵守夏时制;
false
否则。
TimeZone.useDaylightTime()
,
TimeZone.inDaylightTime(Date)
,
Calendar.DST_OFFSET
public boolean inDaylightTime(Date date)
inDaylightTime
方法重写,继承类
TimeZone
date
-给定的日期。
public Object clone()
SimpleTimeZone
实例克隆。
public int hashCode()
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
SimpleTimeZone
对象平等。
equals
方法重写,继承类
Object
obj
-
SimpleTimeZone
对象进行比较。
obj
是这
SimpleTimeZone
对象相同的真;否则为false。
Object.hashCode()
,
HashMap
public boolean hasSameRules(TimeZone other)
true
如果该区域具有相同的规则和抵消另一区。
hasSameRules
方法重写,继承类
TimeZone
other
的时区对象进行比较
true
如果给定的区域是一个simpletimezone具有相同的规则和抵消这一个
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.