Spec-Zone.ru › OpenJDK 17

Класс TimeZone

java.lang.Object
java.util.TimeZone
Все реализованные интерфейсы:
Serializable, Cloneable
Прямые известные подклассы:
SimpleTimeZone
public abstract class TimeZone extends Object implements Serializable, Cloneable
TimeZone представляет смещение часового пояса и также определяет летнее время.

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

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

 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
 
Часы должны быть в диапазоне от 0 до 23, а Минуты — от 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 может распознать только один из них.
С:
1.1
См. также:
  • Calendar
  • GregorianCalendar
  • SimpleTimeZone
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final int LONG
Спецификатор стиля для getDisplayName(), указывающий полное имя, например "Pacific Standard Time".
static final int SHORT
Спецификатор стиля для getDisplayName(), указывающий короткое имя, например "PST".

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

Конструктор Описание
TimeZone()
Единственный конструктор.

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

Модификатор и тип Метод Описание
Object clone()
Создаёт копию этого TimeZone.
static String[] getAvailableIDs()
Получает все доступные поддерживаемые идентификаторы.
static String[] getAvailableIDs(int rawOffset)
Получает доступные идентификаторы в соответствии с заданным смещением часового пояса в миллисекундах.
static TimeZone getDefault()
Получает значение по умолчанию для TimeZone виртуальной машины Java.
final String getDisplayName()
Возвращает полное стандартное имя этого TimeZone, подходящее для отображения пользователю в локале по умолчанию.
final String getDisplayName(boolean daylight, int style)
Возвращает имя в указанном style этого TimeZone, подходящее для отображения пользователю в локале по умолчанию.
String getDisplayName(boolean daylight, int style, Locale locale)
Возвращает имя в указанном style этого TimeZone, подходящее для отображения пользователю в указанном locale.
final 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 для января.
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 используется для корректировки всех исторических значений смещения 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 , подходящее для отображения пользователю в указанном locale.

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

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

getDisplayName

public final String getDisplayName(boolean daylight, int style)
Возвращает имя в указанном 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)
Возвращает имя в указанном style этого TimeZone , подходящее для отображения пользователю в указанном locale. Если указанное daylight является true, возвращается имя летнего времени (даже если этот TimeZone не соблюдает летнее время). В противном случае возвращается имя стандартного времени.

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

Параметры:
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, из которого извлекается идентификатор часового пояса
Возвращает:
указанный часовой пояс или часовой пояс 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 кэшируется. Если zone равно null, кэшированное значение по умолчанию для TimeZone очищается. Этот метод не изменяет значение свойства user.timezone.
Параметры:
zone - новый часовой пояс по умолчанию или null
Исключения:
SecurityException - если менеджер безопасности checkPermission запрещает PropertyPermission("user.timezone", "write")
См. также:
  • getDefault()
  • PropertyPermission

hasSameRules

public boolean hasSameRules(TimeZone other)
Возвращает true, если у этого часового пояса то же правило и смещение, что и у другого часового пояса. То есть, если у этого часового пояса отличается только ID, если вообще отличается. Возвращает false, если другой часовой пояс равен null.
Параметры:
other - объект часового пояса для сравнения
Возвращает:
true, если другой часовой пояс не null и такой же, как этот, за исключением возможного ID
С:
1.2

clone

public Object clone()
Создаёт копию этого TimeZone.
Переопределяет:
clone в классе Object
Возвращает:
клонированный объект TimeZone
См. также:
  • Cloneable

© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/TimeZone.html

Spec-Zone.ru

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