Spec-Zone.ru › OpenJDK 24

Класс 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 Virtual Machine. Почти все современные операционные системы предполагают, что 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), используя GMT TimeZone.
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), используя UTC TimeZone, за которым следует Calendar.getTime().getTime().

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

finalize, getClass, notify, notifyAll, wait, wait, wait

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

Дата

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

Дата

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

Дата

@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

Дата

@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

Дата

@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

Дата

@Deprecated public Date(String s)
Устаревший.
Начиная с версии JDK 1.1, заменён на DateFormat.parse(String s).
Выделяет объект Date и инициализирует его так, чтобы он представлял дату и время, указанные строкой s, которая интерпретируется так же, как и методом parse(java.lang.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 (без учёта регистра), распознаётся как ссылка на часовой пояс Северной Америки, соответственно, на 5, 6, 7 или 8 часов к западу от Гринвича. Любое слово, соответствующее 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 равен этой Date; значение меньше 0, если эта дата раньше даты-аргумента; и значение больше 0, если эта дата позже даты-аргумента.
Исключения:
NullPointerException - если anotherDate равно null.
С:
1.2

hashCode

public int hashCode()
Возвращает код хэширования для этого объекта. Результатом является исключающее ИЛИ двух половин примитивного long значения, возвращаемого методом getTime(). То есть, код хэширования — это значение выражения:

 (int)(this.getTime()^(this.getTime() >>> 32))
 
Overrides:
hashCode в классе Object
Возвращает:
код хэширования для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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 — год, в виде четырёх десятичных цифр.
Overrides:
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), используя GMT TimeZone.
Создаёт строковое представление этого 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 — точно символы "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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Date.html

Spec-Zone.ru

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