Spec-Zone.ru › OpenJDK 27

Класс Date

java.lang.Object
java.util.Date
Все реализуемые интерфейсы:
Serializable, Cloneable, Comparable<Date>
Прямые известные подклассы:
Date, Time, Timestamp
public class Date extends Object implements Serializable, Cloneable, Comparable<Date>
Класс Date представляет определённый момент времени с точностью до миллисекунды.

До JDK 1.1 у класса Date было ещё две функции. Он позволял интерпретировать даты как значения года, месяца, дня, часа, минуты и секунды. Он также позволял форматировать и разбирать строки дат. К сожалению, API этих функций не подходил для интернационализации. Начиная с JDK 1.1, для преобразования дат в поля времени и обратно следует использовать класс Calendar, а для форматирования и разбора строк дат — класс DateFormat. Соответствующие методы в Date устарели.

Хотя класс Date предназначен для отображения всемирного координированного времени (UTC), он может делать это не совсем точно — это зависит от среды, в которой работает виртуальная машина Java. Почти все современные операционные системы считают, что 1 день = 24 × 60 × 60 = 86400 секунд во всех случаях. Однако в UTC примерно раз в год или два появляется дополнительная секунда, называемая «високосной секундой». Високосная секунда всегда добавляется в качестве последней секунды дня и всегда 31 декабря или 30 июня. Например, последняя минута 1995 года длилась 61 секунду благодаря добавленной високосной секунде. Большинство компьютерных часов недостаточно точны, чтобы учитывать разницу, связанную с високосной секундой.

Некоторые компьютерные стандарты определяются в терминах времени по Гринвичу (GMT), которое эквивалентно всемирному времени (UT). GMT — это «гражданское» название стандарта; UT — «научное» название того же стандарта. Разница между UTC и UT заключается в том, что UTC основано на атомных часах, а UT — на астрономических наблюдениях; с практической точки зрения это почти незаметное различие. Поскольку вращение Земли неравномерно (оно замедляется и ускоряется сложным образом), течение UT не всегда равномерно. В UTC при необходимости добавляются високосные секунды, чтобы удерживать UTC в пределах 0,9 секунды от UT1 — версии UT с применёнными определёнными поправками. Существуют и другие системы времени и дат; например, шкала времени, используемая спутниковой глобальной системой позиционирования (GPS), синхронизирована с UTC, но не корректируется с учётом високосных секунд. Интересный источник дополнительной информации — Военно-морская обсерватория США (USNO):

    https://www.usno.navy.mil/USNO

а также материалы о «Системах времени» по адресу:

    https://www.usno.navy.mil/USNO/time/master-clock/systems-of-time

где описаны различные системы времени, включая UT, UT1 и UTC.

Во всех методах класса Date, которые принимают или возвращают значения года, месяца, даты, часов, минут и секунд, используются следующие представления:

  • Год y представлен целым числом y - 1900.
  • Месяц представлен целым числом от 0 до 11; 0 — январь, 1 — февраль и так далее; таким образом, 11 — декабрь.
  • Дата (день месяца) представлена целым числом от 1 до 31 обычным образом.
  • Час представлен целым числом от 0 до 23. Таким образом, час с полуночи до 1 часа ночи — это час 0, а час с полудня до 1 часа дня — это час 12.
  • Минута представлена целым числом от 0 до 59 обычным образом.
  • Секунда представлена целым числом от 0 до 61; значения 60 и 61 встречаются только для високосных секунд и даже тогда — только в реализациях Java, которые действительно корректно учитывают високосные секунды. Из-за особенностей добавления високосных секунд в настоящее время крайне маловероятно, что в одной минуте возникнут две такие секунды, однако эта спецификация следует соглашениям о датах и времени стандарта ISO C.

Во всех случаях аргументы, передаваемые методам для этих целей, не обязаны находиться в указанных диапазонах; например, дату можно задать как 32 января, и она будет интерпретирована как 1 февраля.

Начиная с:
1.0
См. также:
  • DateFormat
  • Calendar
  • TimeZone
  • Сериализованная форма

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

Конструктор Описание
Date()
Создаёт объект Date и инициализирует его так, чтобы он представлял время создания с точностью до ближайшей миллисекунды.
Date(int year, int month, int date)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(year + 1900, month, date) или GregorianCalendar(year + 1900, month, date).
Date(int year, int month, int date, int hrs, int min)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(year + 1900, month, date, hrs, min) или GregorianCalendar(year + 1900, month, date, hrs, min).
Date(int year, int month, int date, int hrs, int min, int sec)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec).
Date(long date)
Создаёт объект Date и инициализирует его так, чтобы он представлял указанное количество миллисекунд, прошедших с начала эпохи — стандартного базового времени, а именно с 1 января 1970 года, 00:00:00 GMT.
Date(String s)
Устарел.
Начиная с JDK версии 1.1 заменён на DateFormat.parse(String s).

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

Модификатор и тип Метод Описание
boolean after(Date when)
Проверяет, является ли эта дата более поздней, чем указанная дата.
boolean before(Date when)
Проверяет, является ли эта дата более ранней, чем указанная дата.
Object clone()
Возвращает копию этого объекта.
int compareTo(Date anotherDate)
Сравнивает две даты для определения порядка.
boolean equals(Object obj)
Сравнивает две даты на равенство.
static Date from(Instant instant)
Получает экземпляр Date из объекта Instant.
int getDate()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.DAY_OF_MONTH).
int getDay()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.DAY_OF_WEEK).
int getHours()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.HOUR_OF_DAY).
int getMinutes()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.MINUTE).
int getMonth()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.MONTH).
int getSeconds()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.SECOND).
long getTime()
Возвращает количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, которое представлено этим объектом Date.
int getTimezoneOffset()
Устарел.
Начиная с JDK версии 1.1 заменён на -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000).
int getYear()
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.get(Calendar.YEAR) - 1900.
int hashCode()
Возвращает хеш-код этого объекта.
static long parse(String s)
Устарел.
Начиная с JDK версии 1.1 заменён на DateFormat.parse(String s).
void setDate(int date)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(Calendar.DAY_OF_MONTH, int date).
void setHours(int hours)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(Calendar.HOUR_OF_DAY, int hours).
void setMinutes(int minutes)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(Calendar.MINUTE, int minutes).
void setMonth(int month)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(Calendar.MONTH, int month).
void setSeconds(int seconds)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(Calendar.SECOND, int seconds).
void setTime(long time)
Устанавливает для этого объекта Date момент времени, наступающий через time миллисекунд после 1 января 1970 года, 00:00:00 GMT.
void setYear(int year)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(Calendar.YEAR, year + 1900).
String toGMTString()
Устарел.
Начиная с JDK версии 1.1 заменён на DateFormat.format(Date date) с использованием TimeZone GMT.
Instant toInstant()
Преобразует этот объект Date в Instant.
String toLocaleString()
Устарел.
Начиная с JDK версии 1.1 заменён на DateFormat.format(Date date).
String toString()
Преобразует этот объект Date в String следующего вида:
static long UTC(int year, int month, int date, int hrs, int min, int sec)
Устарел.
Начиная с JDK версии 1.1 заменён на Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec) с использованием TimeZone UTC, за которым следует Calendar.getTime().getTime().

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарел, будет удалён: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

Date

public Date()
Создает объект Date и инициализирует его так, чтобы он представлял время создания с точностью до ближайшей миллисекунды.
См. также:
  • System.currentTimeMillis()

Date

public Date(long date)
Создает объект Date и инициализирует его так, чтобы он представлял указанное количество миллисекунд, прошедших с общепринятого начального времени, известного как «эпоха», то есть с 1 января 1970 года, 00:00:00 GMT.
Параметры:
date — количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT.
См. также:
  • System.currentTimeMillis()

Date

@Deprecated public Date(int year, int month, int date)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(year + 1900, month, date) или GregorianCalendar(year + 1900, month, date).
Создает объект Date и инициализирует его так, чтобы он представлял полночь по местному времени в начале дня, заданного аргументами year, month и date.
Параметры:
year — год минус 1900.
month — месяц от 0 до 11.
date — день месяца от 1 до 31.
См. также:
  • Calendar

Date

@Deprecated public Date(int year, int month, int date, int hrs, int min)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(year + 1900, month, date, hrs, min) или GregorianCalendar(year + 1900, month, date, hrs, min).
Создает объект Date и инициализирует его так, чтобы он представлял момент в начале минуты, заданной аргументами year, month, date, hrs и min, в местном часовом поясе.
Параметры:
year — год минус 1900.
month — месяц от 0 до 11.
date — день месяца от 1 до 31.
hrs — часы от 0 до 23.
min — минуты от 0 до 59.
См. также:
  • Calendar

Date

@Deprecated public Date(int year, int month, int date, int hrs, int min, int sec)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec).
Создает объект Date и инициализирует его так, чтобы он представлял момент в начале секунды, заданной аргументами year, month, date, hrs, min и sec, в местном часовом поясе.
Параметры:
year — год минус 1900.
month — месяц от 0 до 11.
date — день месяца от 1 до 31.
hrs — часы от 0 до 23.
min — минуты от 0 до 59.
sec — секунды от 0 до 59.
См. также:
  • Calendar

Date

@Deprecated public Date(String s)
Устарел.
Начиная с версии JDK 1.1 заменен на DateFormat.parse(String s).
Создает объект Date и инициализирует его датой и временем, указанными в строке s, которая интерпретируется так же, как методом parse(String).
Параметры:
s — строковое представление даты.
Исключения:
IllegalArgumentException — если s не удается интерпретировать как представление даты и времени.
См. также:
  • DateFormat
  • parse(java.lang.String)

Подробное описание методов

clone

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

UTC

@Deprecated public static long UTC(int year, int month, int date, int hrs, int min, int sec)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec) с использованием TimeZone UTC и последующего вызова Calendar.getTime().getTime().
Определяет дату и время на основе аргументов. Аргументы интерпретируются как год, месяц, день месяца, час дня, минута часа и секунда минуты, точно так же, как в конструкторе Date с шестью аргументами, за исключением того, что они интерпретируются относительно UTC, а не местного часового пояса. Указанное время возвращается как расстояние в миллисекундах от эпохи (00:00:00 GMT 1 января 1970 года).
Параметры:
year — год минус 1900.
month — месяц от 0 до 11.
date — день месяца от 1 до 31.
hrs — часы от 0 до 23.
min — минуты от 0 до 59.
sec — секунды от 0 до 59.
Возвращает:
количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, для даты и времени, заданных аргументами.
См. также:
  • Calendar

parse

@Deprecated public static long parse(String s)
Устарел.
Начиная с версии JDK 1.1 заменен на DateFormat.parse(String s).
Пытается интерпретировать строку s как представление даты и времени. Если попытка успешна, указанное время возвращается как расстояние в миллисекундах от эпохи (00:00:00 GMT 1 января 1970 года). Если попытка не удалась, выбрасывается IllegalArgumentException.

Поддерживается множество форматов; в частности, распознается стандартный формат даты IETF: "Sat, 12 Aug 1995 13:30:00 GMT". Метод также понимает сокращения часовых поясов континентальной части США, однако для общего использования следует указывать смещение часового пояса: "Sat, 12 Aug 1995 13:30:00 GMT+0430" (4 часа 30 минут к западу от Гринвичского меридиана). Если часовой пояс не указан, предполагается местный часовой пояс. GMT и UTC считаются эквивалентными.

Строка s обрабатывается слева направо в поисках значимых данных. Любой текст в s, заключенный в круглые скобки ASCII ( и ), игнорируется. Скобки могут быть вложенными. В остальном в s допускаются только следующие символы ASCII:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789,+-:/
и пробельные символы.

Последовательность десятичных цифр трактуется как десятичное число:

  • Если перед числом стоит + или - и год уже распознан, число считается смещением часового пояса. Если число меньше 24, смещение задается в часах. В противном случае оно считается смещением в минутах, записанным в 24-часовом формате без знаков препинания. Предшествующий - означает смещение к западу. Смещения часовых поясов всегда задаются относительно UTC (Гринвича). Так, например, -5 в строке будет означать «пять часов к западу от Гринвича», а +0430 — «четыре часа тридцать минут к востоку от Гринвича». Допускается избыточное указание в строке GMT, UT или UTC, например GMT-5 или utc+0430.
  • Число считается годом, если выполняется одно из следующих условий:
    • Число равно или больше 70 и за ним следует пробел, запятая, косая черта или конец строки
    • Число меньше 70, а месяц и день месяца уже распознаны
    Если распознанное число года меньше 100, оно интерпретируется как сокращенный год относительно столетия, даты которого находятся в диапазоне от 80 лет до и до 19 лет после момента инициализации класса Date. После корректировки числа года из него вычитается 1900. Например, если текущий год — 1999, годы в диапазоне от 19 до 99 считаются годами с 1919 по 1999, а годы от 0 до 18 — годами с 2000 по 2018. Обратите внимание, что это несколько отличается от интерпретации годов меньше 100, используемой в SimpleDateFormat.
  • Если за числом следует двоеточие, оно считается часом, если час еще не распознан; в противном случае оно считается минутой.
  • Если за числом следует косая черта, оно считается месяцем (из него вычитается 1, чтобы получить число в диапазоне от 0 до 11), если месяц еще не распознан; в противном случае оно считается днем месяца.
  • Если за числом следует пробел, запятая, дефис или конец строки, то, если час распознан, а минута еще нет, число считается минутой; в противном случае, если минута распознана, а секунда еще нет, число считается секундой; иначе оно считается днем месяца.

Последовательность букв считается словом и обрабатывается следующим образом:

  • Слово, совпадающее с AM без учета регистра, игнорируется (однако разбор завершается неудачей, если час не распознан, меньше 1 или больше 12).
  • Слово, совпадающее с PM без учета регистра, увеличивает час на 12 (однако разбор завершается неудачей, если час не распознан, меньше 1 или больше 12).
  • Любое слово, совпадающее с любым префиксом SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY или SATURDAY без учета регистра, игнорируется. Например, sat, Friday, TUE и Thurs игнорируются.
  • Любое слово, совпадающее с любым префиксом JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER или DECEMBER без учета регистра (при проверке в указанном здесь порядке), распознается как обозначение месяца и преобразуется в число (от 0 до 11). Например, aug, Sept, april и NOV распознаются как месяцы. Также распознается Ma, которое определяется как MARCH, а не MAY.
  • Любое слово, совпадающее с GMT, UT или UTC без учета регистра, трактуется как обозначение UTC.
  • Любое слово, совпадающее с EST, CST, MST или PST без учета регистра, распознается как обозначение часового пояса Северной Америки, который отстоит от Гринвича на пять, шесть, семь или восемь часов соответственно. Любое слово, совпадающее с EDT, CDT, MDT или PDT без учета регистра, распознается как обозначение того же часового пояса соответственно во время перехода на летнее время.

После сканирования всей строки s она преобразуется в результат времени одним из двух способов. Если распознан часовой пояс или смещение часового пояса, год, месяц, день месяца, час, минута и секунда интерпретируются в UTC, после чего применяется смещение часового пояса. В противном случае год, месяц, день месяца, час, минута и секунда интерпретируются в местном часовом поясе.

Параметры:
s — строка, которую следует разобрать как дату.
Возвращает:
количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, представленное строковым аргументом.
Исключения:
IllegalArgumentException — если s не удается интерпретировать как представление даты и времени.
См. также:
  • DateFormat

getYear

@Deprecated public int getYear()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.YEAR) - 1900.
Возвращает значение, полученное вычитанием 1900 из года, который содержит момент времени, представленный этим объектом Date, или с которого этот момент начинается, в соответствии с местным часовым поясом.
Возвращает:
год, представленный этой датой, минус 1900.
См. также:
  • Calendar

setYear

@Deprecated public void setYear(int year)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(Calendar.YEAR, year + 1900).
Задает год этого объекта Date равным указанному значению плюс 1900. Этот объект Date изменяется так, чтобы представлять момент времени в указанном году; месяц, день, час, минута и секунда остаются прежними в соответствии с местным часовым поясом. (Разумеется, если дата была, например, 29 февраля, а год задается невисокосный, новая дата будет считаться 1 марта.)
Параметры:
year — значение года.
См. также:
  • Calendar

getMonth

@Deprecated public int getMonth()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.MONTH).
Возвращает число, обозначающее месяц, который содержит момент времени, представленный этим объектом Date, или с которого этот момент начинается. Возвращаемое значение находится в диапазоне от 0 до 11, причем значение 0 обозначает январь.
Возвращает:
месяц, представленный этой датой.
См. также:
  • Calendar

setMonth

@Deprecated public void setMonth(int month)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(Calendar.MONTH, int month).
Задает для этой даты указанное значение месяца. Этот объект Date изменяется так, чтобы представлять момент времени в указанном месяце; год, день, час, минута и секунда остаются прежними в соответствии с местным часовым поясом. Например, если дата была 31 октября, а месяц задается как июнь, новая дата будет считаться 1 июля, поскольку в июне всего 30 дней.
Параметры:
month — значение месяца от 0 до 11.
См. также:
  • Calendar

getDate

@Deprecated public int getDate()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.DAY_OF_MONTH).
Возвращает день месяца, представленный этим объектом Date. Возвращаемое значение находится в диапазоне от 1 до 31 и обозначает день месяца, содержащий момент времени, представленный этим объектом Date, или день, с которого этот момент начинается, в соответствии с местным часовым поясом.
Возвращает:
день месяца, представленный этой датой.
См. также:
  • Calendar

setDate

@Deprecated public void setDate(int date)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(Calendar.DAY_OF_MONTH, int date).
Задает для этого объекта Date указанное значение дня месяца. Этот объект Date изменяется так, чтобы представлять момент времени в указанный день месяца; год, месяц, час, минута и секунда остаются прежними в соответствии с местным часовым поясом. Например, если дата была 30 апреля, а день месяца задается как 31, она будет считаться 1 мая, поскольку в апреле всего 30 дней.
Параметры:
date — значение дня месяца от 1 до 31.
См. также:
  • Calendar

getDay

@Deprecated public int getDay()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.DAY_OF_WEEK).
Возвращает день недели, представленный этой датой. Возвращаемое значение (0 = воскресенье, 1 = понедельник, 2 = вторник, 3 = среда, 4 = четверг, 5 = пятница, 6 = суббота) обозначает день недели, содержащий момент времени, представленный этим объектом Date, или день, с которого этот момент начинается, в соответствии с местным часовым поясом.
Возвращает:
день недели, представленный этой датой.
См. также:
  • Calendar

getHours

@Deprecated public int getHours()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.HOUR_OF_DAY).
Возвращает час, представленный этим объектом Date. Возвращаемое значение — число (от 0 до 23), обозначающее час дня, содержащего момент времени, представленный этим объектом Date, или дня, с которого этот момент начинается, в соответствии с местным часовым поясом.
Возвращает:
час, представленный этой датой.
См. также:
  • Calendar

setHours

@Deprecated public void setHours(int hours)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(Calendar.HOUR_OF_DAY, int hours).
Задает для этого объекта Date указанное значение часа. Этот объект Date изменяется так, чтобы представлять момент времени в указанный час дня; год, месяц, день, минута и секунда остаются прежними в соответствии с местным часовым поясом.
Параметры:
hours — значение часа.
См. также:
  • Calendar

getMinutes

@Deprecated public int getMinutes()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.MINUTE).
Возвращает количество минут, прошедших с начала часа, представленного этой датой, в соответствии с местным часовым поясом. Возвращаемое значение находится в диапазоне от 0 до 59.
Возвращает:
количество минут, прошедших с начала часа, представленного этой датой.
См. также:
  • Calendar

setMinutes

@Deprecated public void setMinutes(int minutes)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(Calendar.MINUTE, int minutes).
Задает для этого объекта Date указанное значение минут. Этот объект Date изменяется так, чтобы представлять момент времени в указанную минуту часа; год, месяц, день, час и секунда остаются прежними в соответствии с местным часовым поясом.
Параметры:
minutes — значение минут.
См. также:
  • Calendar

getSeconds

@Deprecated public int getSeconds()
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.get(Calendar.SECOND).
Возвращает количество секунд, прошедших с начала минуты, представленной этой датой. Возвращаемое значение находится в диапазоне от 0 до 61. Значения 60 и 61 могут встречаться только в тех виртуальных машинах Java, которые учитывают високосные секунды.
Возвращает:
количество секунд, прошедших с начала минуты, представленной этой датой.
См. также:
  • Calendar

setSeconds

@Deprecated public void setSeconds(int seconds)
Устарел.
Начиная с версии JDK 1.1 заменен на Calendar.set(Calendar.SECOND, int seconds).
Задает для объекта Date указанное значение секунд. Этот объект Date изменяется так, чтобы представлять момент времени в указанную секунду минуты; год, месяц, день, час и минута остаются прежними в соответствии с местным часовым поясом.
Параметры:
seconds — значение секунд.
См. также:
  • Calendar

getTime

public long getTime()
Возвращает количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, представленное этим объектом Date.
Возвращает:
количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, представленное этой датой.

setTime

public void setTime(long time)
Задает этому объекту Date представление момента времени, наступающего через time миллисекунд после 1 января 1970 года, 00:00:00 GMT.
Параметры:
time — количество миллисекунд.

before

public boolean before(Date when)
Проверяет, предшествует ли эта дата указанной дате.
Параметры:
when — дата.
Возвращает:
true тогда и только тогда, когда момент времени, представленный этим объектом Date, строго предшествует моменту, представленному when; в противном случае — false.
Исключения:
NullPointerException — если when равно null.

after

public boolean after(Date when)
Проверяет, следует ли эта дата за указанной датой.
Параметры:
when — дата.
Возвращает:
true тогда и только тогда, когда момент времени, представленный этим объектом Date, строго следует за моментом, представленным when; в противном случае — false.
Исключения:
NullPointerException — если when равно null.

equals

public boolean equals(Object obj)
Сравнивает две даты на равенство. Результат равен true тогда и только тогда, когда аргумент не равен null и является объектом Date, представляющим тот же момент времени с точностью до миллисекунды, что и этот объект.

Таким образом, два объекта Date равны тогда и только тогда, когда метод getTime возвращает для обоих одинаковое значение long.

Переопределяет:
equals в классе Object
Параметры:
obj — объект для сравнения.
Возвращает:
true, если объекты одинаковы; в противном случае — false.
См. также:
  • getTime()

compareTo

public int compareTo(Date anotherDate)
Сравнивает две даты для упорядочения.
Определено в:
compareTo в интерфейсе Comparable<Date>
Параметры:
anotherDate — Date для сравнения.
Возвращает:
значение 0, если аргумент Date равен этой дате; значение меньше 0, если эта дата предшествует аргументу Date; и значение больше 0, если эта дата следует за аргументом Date.
Исключения:
NullPointerException — если anotherDate равно null.
Начиная с версии:
1.2

hashCode

public int hashCode()
Возвращает значение хеш-кода для этого объекта. Результат представляет собой исключающее ИЛИ двух половин примитивного значения long, возвращаемого методом getTime(). То есть хеш-код является значением выражения:
(int)(this.getTime()^(this.getTime() >>> 32))
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Преобразует этот объект Date в String следующего формата:
dow mon dd hh:mm:ss zzz yyyy
где:
  • dow — день недели (Sun, Mon, Tue, Wed, Thu, Fri, Sat).
  • mon — месяц (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
  • dd — день месяца (от 01 до 31), записанный двумя десятичными цифрами.
  • hh — час дня (от 00 до 23), записанный двумя десятичными цифрами.
  • mm — минута часа (от 00 до 59), записанная двумя десятичными цифрами.
  • ss — секунда минуты (от 00 до 61), записанная двумя десятичными цифрами.
  • zzz — часовой пояс (может учитывать переход на летнее время). Стандартные аббревиатуры часовых поясов включают те, которые распознаются методом parse. Если информация о часовом поясе недоступна, то zzz пусто — то есть не содержит ни одного символа.
  • yyyy — год, записанный четырьмя десятичными цифрами.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этой даты.
См. также:
  • toLocaleString()
  • toGMTString()

toLocaleString

@Deprecated public String toLocaleString()
Устарел.
Начиная с JDK версии 1.1 заменён на DateFormat.format(Date date).
Создаёт строковое представление этого объекта Date в форме, зависящей от реализации. Предполагается, что эта форма будет привычной пользователю Java-приложения независимо от того, где оно запущено. Это аналогично формату «%c», поддерживаемому функцией strftime() стандарта ISO C.
Возвращает:
строковое представление этой даты с использованием региональных соглашений.
См. также:
  • DateFormat
  • toString()
  • toGMTString()

toGMTString

@Deprecated public String toGMTString()
Устарел.
Начиная с JDK версии 1.1 заменён на DateFormat.format(Date date) с использованием TimeZone GMT.
Создаёт строковое представление этого объекта Date следующего формата:
d mon yyyy hh:mm:ss GMT
где:
  • d — день месяца (от 1 до 31), записанный одной или двумя десятичными цифрами.
  • mon — месяц (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
  • yyyy — год, записанный четырьмя десятичными цифрами.
  • hh — час дня (от 00 до 23), записанный двумя десятичными цифрами.
  • mm — минута часа (от 00 до 59), записанная двумя десятичными цифрами.
  • ss — секунда минуты (от 00 до 61), записанная двумя десятичными цифрами.
  • GMT — ровно буквы ASCII «GMT», обозначающие среднее время по Гринвичу.

Результат не зависит от местного часового пояса.

Возвращает:
строковое представление этой даты с использованием соглашений интернет-формата GMT.
См. также:
  • DateFormat
  • toString()
  • toLocaleString()

getTimezoneOffset

@Deprecated public int getTimezoneOffset()
Устарел.
Начиная с JDK версии 1.1 заменён на -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000).
Возвращает смещение местного часового пояса относительно UTC в минутах, соответствующее времени, представленному этим объектом Date.

Например, в Массачусетсе, находящемся в пяти часовых поясах к западу от Гринвича:

new Date(96, 1, 14).getTimezoneOffset() returns 300
поскольку 14 февраля 1996 года действует стандартное время (восточное стандартное время), отстающее от UTC на пять часов; однако:
new Date(96, 5, 1).getTimezoneOffset() returns 240
поскольку 1 июня 1996 года действует летнее время (восточное летнее время), отстающее от UTC всего на четыре часа.

Этот метод даёт тот же результат, что и вычисление:

(this.getTime() - UTC(this.getYear(),
                      this.getMonth(),
                      this.getDate(),
                      this.getHours(),
                      this.getMinutes(),
                      this.getSeconds())) / (60 * 1000)
Возвращает:
смещение часового пояса в минутах для текущего часового пояса.
См. также:
  • Calendar.ZONE_OFFSET
  • Calendar.DST_OFFSET
  • TimeZone.getDefault()

from

public static Date from(Instant instant)
Получает экземпляр Date из объекта Instant.

Instant использует точность до наносекунд, тогда как Date — точность до миллисекунд. При преобразовании лишняя информация о точности будет отброшена, как если бы значение в наносекундах делилось на миллион с округлением вниз.

Instant может хранить точки на временной шкале, расположенные дальше в будущем и прошлом, чем Date. В этом случае данный метод выбросит исключение.

Параметры:
instant — момент времени для преобразования
Возвращает:
Date, представляющий ту же точку на временной шкале, что и переданный момент времени
Вызывает:
NullPointerException — если instant равен null.
IllegalArgumentException — если момент времени слишком велик для представления в виде Date
Начиная с:
1.8

toInstant

public Instant toInstant()
Преобразует этот объект Date в Instant.

В результате преобразования создаётся Instant, представляющий ту же точку на временной шкале, что и этот Date.

Возвращает:
момент времени, представляющий ту же точку на временной шкале, что и этот объект Date
Начиная с:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, общие сведения, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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