Spec-Zone.ru › OpenJDK 25

Класс 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 отличалось от UT1 не более чем на 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

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

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) с использованием UTC TimeZone, за которым следует 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Date.html

Spec-Zone.ru

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