Spec-Zone.ru › OpenJDK 8

Класс TimeZone

  • java.lang.Object
    • java.util.TimeZone
Все реализованные интерфейсы:
Serializable, Cloneable
Прямые известные подклассы:
SimpleTimeZone

public abstract class TimeZone
extends Object
implements Serializable, Cloneable

TimeZone представляет смещение часового пояса, а также определяет летнее время.

Обычно вы получаете TimeZone с помощью getDefault, который создаёт TimeZone на основе часового пояса, в котором работает программа. Например, для программы, работающей в Японии, getDefault создаёт объект TimeZone на основе японского стандартного времени.

Вы также можете получить TimeZone с помощью getTimeZone вместе с идентификатором часового пояса. Например, идентификатор часового пояса для Тихоокеанского времени США — "America/Los_Angeles". Таким образом, вы можете получить объект TimeZone Тихоокеанского времени США с помощью:

TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
Вы можете использовать метод getAvailableIDs для перебора всех поддерживаемых идентификаторов часовых поясов. Затем вы можете выбрать поддерживаемый идентификатор, чтобы получить TimeZone. Если желаемый часовой пояс не представлен одним из поддерживаемых идентификаторов, можно указать пользовательский идентификатор часового пояса для создания объекта TimeZone. Синтаксис пользовательского идентификатора часового пояса:
CustomID:
        GMT Sign Hours : Minutes
        GMT Sign Hours Minutes
        GMT Sign Hours
Sign: one of
        + -
Hours:
        Digit
        Digit Digit
Minutes:
        Digit Digit
Digit: one of
        0 1 2 3 4 5 6 7 8 9
Значение Hours должно быть от 0 до 23, а Minutes — от 00 до 59. Например, "GMT+10" и "GMT+0010" означают соответственно на 10 часов и 10 минут больше, чем GMT.

Формат независим от локали, и цифры должны быть взяты из блока Basic Latin стандарта Unicode. С пользовательским идентификатором часового пояса нельзя указать график перехода на летнее время. Если указанная строка не соответствует синтаксису, используется "GMT".

При создании TimeZone, указанный пользовательский идентификатор часового пояса нормализуется в следующем синтаксисе:

NormalizedCustomID:
        GMT Sign TwoDigitHours : Minutes
Sign: one of
        + -
TwoDigitHours:
        Digit Digit
Minutes:
        Digit Digit
Digit: one of
        0 1 2 3 4 5 6 7 8 9
Например, TimeZone.getTimeZone("GMT-8").getID() возвращает "GMT-08:00".

Идентификаторы часовых поясов из трёх букв

Для совместимости с JDK 1.1.x поддерживаются и некоторые другие идентификаторы часовых поясов из трёх букв (например, "PST", "CTT", "AST"). Однако их использование устарело, потому что одно и то же сокращение часто используется для нескольких часовых поясов (например, "CST" может обозначать как американское «Центральное стандартное время», так и китайское «Стандартное время»), и платформа Java может распознать только одно из них.
С:
JDK1.1
См. также:
Calendar, GregorianCalendar, SimpleTimeZone, Сериализованная форма

Поля

Модификатор и тип Поле и описание
static int LONG

Спецификатор стиля для getDisplayName(), указывающий полное название, например, «Тихоокеанское стандартное время».

static int SHORT

Спецификатор стиля для getDisplayName(), указывающий короткое название, например, «PST».

Краткое описание конструкторов

Конструктор и описание
TimeZone()

Единственный конструктор.

Краткое описание методов

Модификатор и тип Метод и описание
Object clone()

Создаёт копию этого TimeZone.

static String[] getAvailableIDs()

Получает все доступные поддерживаемые идентификаторы.

static String[] getAvailableIDs(int rawOffset)

Получает доступные идентификаторы в соответствии с заданным смещением часового пояса в миллисекундах.

static TimeZone getDefault()

Получает по умолчанию TimeZone виртуальной машины Java.

String getDisplayName()

Возвращает полное стандартное имя этого TimeZone, подходящее для отображения пользователю в локали по умолчанию.

String getDisplayName(boolean daylight, int style)

Возвращает имя в указанной style этого TimeZone, подходящее для отображения пользователю в локали по умолчанию.

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

Возвращает имя в указанной style этого TimeZone, подходящее для отображения пользователю в указанной locale.

String getDisplayName(Locale locale)

Возвращает полное стандартное имя этого TimeZone, подходящее для отображения пользователю в указанной locale.

int getDSTSavings()

Возвращает величину времени, которую нужно добавить к местному стандартному времени, чтобы получить местное время по часам.

String getID()

Получает идентификатор этого часового пояса.

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)

Получает TimeZone для данного идентификатора.

static TimeZone getTimeZone(ZoneId zoneId)

Получает TimeZone для данного zoneId.

boolean hasSameRules(TimeZone other)

Возвращает true, если этот пояс имеет те же правила и смещение, что и другой пояс.

abstract boolean inDaylightTime(Date date)

Определяет, находится ли данное date в летнем времени в данном часовом поясе.

boolean observesDaylightTime()

Возвращает true, если этот TimeZone в настоящее время находится в летнем времени или если переход с стандартного времени на летнее время произойдёт в будущем.

static void setDefault(TimeZone zone)

Устанавливает TimeZone, возвращаемое методом getDefault.

void setID(String ID)

Устанавливает идентификатор часового пояса.

abstract void setRawOffset(int offsetMillis)

Устанавливает базовое смещение часового пояса по отношению к GMT.

ZoneId toZoneId()

Преобразует этот объект TimeZone в ZoneId.

abstract boolean useDaylightTime()

Определяет, использует ли этот TimeZone летнее время.

Методы, унаследованные от класса java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

SHORT

public static final int SHORT

Спецификатор стиля для getDisplayName(), указывающий короткое имя, например, "PST".

С момента:
1.2
См. также:
LONG, Значения константных полей

LONG

public static final int LONG

Спецификатор стиля для getDisplayName(), указывающий полное имя, например, "Pacific Standard Time".

С момента:
1.2
См. также:
SHORT, Значения константных полей

Конструкторы

TimeZone

public TimeZone()

Единственный конструктор. (Для вызова конструкторами подклассов, обычно неявным).

Методы

getOffset

public abstract int getOffset(int era,
                              int year,
                              int month,
                              int day,
                              int dayOfWeek,
                              int milliseconds)

Возвращает смещение часового пояса для текущей даты, изменённое в случае перехода на летнее время. Это смещение, которое нужно добавить к UTC для получения местного времени.

Этот метод возвращает исторически корректное смещение, если реализующий подкласс TimeZone поддерживает исторический график перехода на летнее время и изменения GMT-смещения.

Параметры:
era - эра заданной даты.
year - год в заданной дате.
month - месяц в заданной дате. Месяц нумеруется с 0. Например, 0 для января.
day - день месяца в заданной дате.
dayOfWeek - день недели в заданной дате.
milliseconds - миллисекунды в дне в стандартном местном времени.
Возвращает:
смещение в миллисекундах, которое нужно добавить к GMT для получения местного времени.
См. также:
Calendar.ZONE_OFFSET, Calendar.DST_OFFSET

getOffset

public int getOffset(long date)

Возвращает смещение этого часового пояса от UTC в указанную дату. Если в указанную дату действует летнее время, значение смещения корректируется на величину летнего времени.

Этот метод возвращает исторически корректное значение смещения, если реализующий подкласс TimeZone поддерживает исторический график перехода на летнее время и изменения GMT-смещения.

Параметры:
date - дата, представленная в миллисекундах с момента 1 января 1970 года 00:00:00 GMT
Возвращает:
величина времени в миллисекундах, которую нужно добавить к UTC, чтобы получить местное время.
С момента:
1.4
См. также:
Calendar.ZONE_OFFSET, Calendar.DST_OFFSET

setRawOffset

public abstract void setRawOffset(int offsetMillis)

Устанавливает базовое смещение часового пояса от GMT. Это смещение, которое нужно добавить к UTC для получения местного времени.

Если реализующий подкласс TimeZone поддерживает исторические изменения GMT-смещения, указанное смещение GMT устанавливается как последнее и разность между известным последним значением GMT-смещения используется для корректировки всех исторических значений GMT-смещения.

Параметры:
offsetMillis - заданное базовое смещение часового пояса от GMT.

getRawOffset

public abstract int getRawOffset()

Возвращает величину времени в миллисекундах, которую нужно добавить к UTC, чтобы получить стандартное время в этом часовом поясе. Поскольку это значение не зависит от перехода на летнее время, оно называется сырым смещением.

Если реализующий подкласс TimeZone поддерживает исторические изменения GMT-смещения, метод возвращает значение сырого смещения на текущую дату. Например, в Гонолулу сырое смещение менялось с GMT-10:30 до GMT-10:00 в 1947 году, и этот метод всегда возвращает -36000000 миллисекунд (т.е. -10 часов).

Возвращает:
величину сырого смещения во времени в миллисекундах, которую нужно добавить к UTC.
См. также:
Calendar.ZONE_OFFSET

getID

public String getID()

Получает идентификатор этого часового пояса.

Возвращает:
идентификатор этого часового пояса.

setID

public void setID(String ID)

Устанавливает идентификатор часового пояса. Это не изменяет другие данные в объекте часового пояса.

Параметры:
ID - новый идентификатор часового пояса.

getDisplayName

public final String getDisplayName()

Возвращает полное имя стандартного времени этого TimeZone в формате, подходящем для отображения пользователю в локали по умолчанию.

Этот метод эквивалентен:

getDisplayName(false, LONG,
               Locale.getDefault(Locale.Category.DISPLAY))
Возвращает:
человекопонятное имя этого часового пояса в локали по умолчанию.
С момента:
1.2
См. также:
getDisplayName(boolean, int, Locale), Locale.getDefault(Locale.Category), Locale.Category

getDisplayName

public final String getDisplayName(Locale locale)

Возвращает полное имя стандартного времени этого TimeZone в формате, подходящем для отображения пользователю в указанной локали.

Этот метод эквивалентен:

getDisplayName(false, LONG, locale)
Параметры:
locale - локаль, в которой нужно предоставить имя для отображения.
Возвращает:
человекопонятное имя этого часового пояса в заданной локали.
Исключения:
NullPointerException - если locale является null.
С момента:
1.2
См. также:
getDisplayName(boolean, int, Locale)

getDisplayName

public final String getDisplayName(boolean daylight,
                                   int style)

Возвращает имя в указанной локали этого TimeZone подходящее для отображения пользователю в локали по умолчанию. Если указанный daylight является true, возвращается имя летнего времени (даже если этот TimeZone не использует летнее время). В противном случае возвращается имя стандартного времени.

Этот метод эквивалентен:

getDisplayName(daylight, style,
               Locale.getDefault(Locale.Category.DISPLAY))
Параметры:
daylight - true указывающее имя летнего времени, или false указывающее имя стандартного времени
style - либо LONG, либо SHORT
Возвращает:
человекопонятное имя этого часового пояса в локали по умолчанию.
Исключения:
IllegalArgumentException - если style некорректно.
С момента:
1.2
См. также:
getDisplayName(boolean, int, Locale), Locale.getDefault(Locale.Category), Locale.Category, DateFormatSymbols.getZoneStrings()

getDisplayName

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

Возвращает имя в указанной локали этого TimeZone подходящее для отображения пользователю в указанной локали. Если указанный daylight является true, возвращается имя летнего времени (даже если этот TimeZone не использует летнее время). В противном случае возвращается имя стандартного времени.

При поиске имени часового пояса используется стандартный путь поиска локали Locale из ResourceBundle от заданной локали. (Поиск по Locale не выполняется.) Если имя часового пояса найдено в любой локали пути поиска, включая Locale.ROOT, возвращается это имя. В противном случае возвращается строка в нормализованном формате идентификатора.

Параметры:
daylight - true указывающее имя летнего времени, или false указывающее имя стандартного времени
style - либо LONG, либо SHORT
locale - локаль, в которой нужно предоставить имя для отображения.
Возвращает:
человекопонятное имя этого часового пояса в заданной локали.
Исключения:
IllegalArgumentException - если style некорректно.
NullPointerException - если locale является null.
С момента:
1.2
См. также:
DateFormatSymbols.getZoneStrings()

getDSTSavings

public int getDSTSavings()

Возвращает величину времени, которую нужно добавить к местному стандартному времени, чтобы получить местное время по часам.

Реализация по умолчанию возвращает 3600000 миллисекунд (т.е. один час), если вызов useDaylightTime() возвращает true. В противном случае возвращается 0 (ноль).

Если реализующий подкласс TimeZone поддерживает исторические и будущие изменения графика перехода на летнее время, этот метод возвращает величину сбережения времени последнего известного правила перехода на летнее время, которое может быть будущим прогнозом.

Если требуется величина сбережения времени в любой момент времени, создайте Calendar с этим TimeZone и меткой времени и вызовите Calendar.get(Calendar.DST_OFFSET).

Возвращает:
величину сбережения времени в миллисекундах
С момента:
1.4
См. также:
inDaylightTime(Date), getOffset(long), getOffset(int,int,int,int,int,int), Calendar.ZONE_OFFSET

useDaylightTime

public abstract boolean useDaylightTime()

Определяет, использует ли этот TimeZone летнее время.

Если базовая реализация TimeZone поддерживает изменения расписания летнего времени в прошлом и будущем, этот метод ссылается на последнее известное правило летнего времени, которое может быть будущим прогнозом и может не совпадать с текущим правилом. Рассмотрите возможность вызова observesDaylightTime(), если следует учитывать также текущее правило.

Возвращает:
true , если этот TimeZone использует летнее время, false, в противном случае.
См. также:
inDaylightTime(Date), Calendar.DST_OFFSET

observesDaylightTime

public boolean observesDaylightTime()

Возвращает true , если этот TimeZone в настоящее время использует летнее время или если переход от стандартного времени к летнему времени произойдет в будущем.

Реализация по умолчанию возвращает true , если useDaylightTime() или inDaylightTime(new Date()) возвращает true.

Возвращает:
true , если этот TimeZone в настоящее время использует летнее время или если переход от стандартного времени к летнему времени произойдет в будущем; false в противном случае.
С:
1.7
См. также:
useDaylightTime(), inDaylightTime(Date), Calendar.DST_OFFSET

inDaylightTime

public abstract boolean inDaylightTime(Date date)

Определяет, находится ли указанная date в летнем времени в данном часовом поясе.

Параметры:
date - указанная дата.
Возвращает:
true , если указанная дата находится в летнем времени, false, в противном случае.

getTimeZone

public static TimeZone getTimeZone(String ID)

Получает часовой пояс для данного идентификатора.

Параметры:
ID - идентификатор часового пояса, например, сокращение «PST», полное имя «America/Los_Angeles» или пользовательский идентификатор «GMT-8:00». Обратите внимание, что поддержка сокращений предназначена только для совместимости с JDK 1.1.x, и следует использовать полные имена.
Возвращает:
указанный часовой пояс или часовой пояс GMT, если заданный идентификатор не распознан.

getTimeZone

public static TimeZone getTimeZone(ZoneId zoneId)

Получает часовой пояс для данного zoneId.

Параметры:
zoneId - ZoneId , из которого извлекается идентификатор часового пояса
Возвращает:
указанный часовой пояс или часовой пояс GMT, если заданный идентификатор не распознан.
Исключения:
NullPointerException - если zoneId равен null
С:
1.8

toZoneId

public ZoneId toZoneId()

Преобразует этот объект TimeZone в объект ZoneId.

Возвращает:
объект ZoneId , представляющий тот же часовой пояс, что и этот TimeZone
С:
1.8

getAvailableIDs

public static String[] getAvailableIDs(int rawOffset)

Получает доступные идентификаторы в соответствии с заданным смещением часового пояса в миллисекундах.

Параметры:
rawOffset - заданное смещение часового пояса от GMT в миллисекундах.
Возвращает:
массив идентификаторов, где часовой пояс для данного идентификатора имеет указанное смещение от GMT. Например, «America/Phoenix» и «America/Denver» оба имеют GMT-07:00, но различаются по поведению летнего времени.
См. также:
getRawOffset()

getAvailableIDs

public static String[] getAvailableIDs()

Получает все поддерживаемые доступные идентификаторы.

Возвращает:
массив идентификаторов.

getDefault

public static TimeZone getDefault()

Получает значение по умолчанию TimeZone виртуальной машины Java. Если кэшированное значение по умолчанию TimeZone доступно, возвращается его копия. В противном случае метод выполняет следующие действия для определения часового пояса по умолчанию.

  • Использует значение свойства user.timezone в качестве идентификатора часового пояса по умолчанию, если оно доступно.
  • Определяет идентификатор часового пояса платформы. Источник соответствия часового пояса и идентификатора платформы может варьироваться в зависимости от реализации.
  • Использует GMT в качестве крайнего средства, если заданный или обнаруженный идентификатор часового пояса неизвестен.

Созданный по идентификатору часовой пояс по умолчанию кэшируется, и возвращается его копия. Значение свойства user.timezone устанавливается в идентификатор при возврате.

Возвращает:
значение по умолчанию TimeZone
См. также:
setDefault(TimeZone)

setDefault

public static void setDefault(TimeZone zone)

Устанавливает значение по умолчанию TimeZone , которое возвращается методом getDefault. Значение по умолчанию кэшируется. Если zone равно null, кэшированное значение по умолчанию TimeZone очищается. Этот метод не изменяет значение свойства user.timezone.

Параметры:
zone - новое значение по умолчанию TimeZone, или null
Исключения:
SecurityException - если checkPermission менеджера безопасности запрещает PropertyPermission("user.timezone", "write")
См. также:
getDefault(), PropertyPermission

hasSameRules

public boolean hasSameRules(TimeZone other)

Возвращает true, если у этого часового пояса одинаковое правило и смещение, как у другого часового пояса. То есть, если этот часовой пояс отличается только идентификатором, если вообще. Возвращает false, если другой часовой пояс равен null.

Параметры:
other - объект часового пояса для сравнения
Возвращает:
true, если другой часовой пояс не равен null и такой же, как этот, за исключением, возможно, идентификатора
С:
1.2

clone

public Object clone()

Создает копию этого TimeZone.

Переопределяет:
clone в классе Object
Возвращает:
клонированный TimeZone
См. также:
Cloneable

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API