Spec-Zone.ru › OpenJDK 17

Класс 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 февраля.

C момента:
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 - строковое представление даты.
См. также:
  • DateFormat
  • parse(java.lang.String)

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

clone

public Object clone()
Возвращает копию этого объекта.
Overrides:
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, представленное строковым аргументом.
См. также:
  • 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 по Гринвичу, представленное этим объектом Date .
Возвращает:
количество миллисекунд с 1 января 1970 года, 00:00:00 по Гринвичу, представленное этой датой.

setTime

public void setTime(long time)
Устанавливает этот объект Date так, чтобы он представлял точку во времени, которая является time миллисекундами после 1 января 1970 года, 00:00:00 по Гринвичу.
Параметры:
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 , если эта Date предшествует аргументу Date; и значение больше 0 , если эта Date следует за аргументом Date.
Исключения:
NullPointerException - если anotherDate равно null.
С момента:
1.2

hashCode

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

 (int)(this.getTime()^(this.getTime() >>> 32))
 
Overrides:
hashCode в классе Object
Returns:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Преобразует этот объект Date в строку формата:
 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
Returns:
строковое представление этой даты.
См. также:
  • toLocaleString()
  • toGMTString()

toLocaleString

@Deprecated public String toLocaleString()
Устаревший.
Начиная с JDK версии 1.1, заменён на DateFormat.format(Date date).
Создаёт строковое представление объекта Date в формате, зависящем от реализации. Цель состоит в том, чтобы формат был понятен пользователю Java-приложения, где бы оно ни выполнялось. Цель аналогична формату «%c», поддерживаемому функцией strftime() языка ISO C.
Returns:
строковое представление этой даты с использованием соглашений локальной настройки.
См. также:
  • 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 — ровно ASCII символы "GMT", чтобы указать Гринвичское время.

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

Returns:
строковое представление этой даты, используя соглашения интернет-стандарта 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)
 
Returns:
смещение часового пояса, в минутах, для текущего часового пояса.
См. также:
  • Calendar.ZONE_OFFSET
  • Calendar.DST_OFFSET
  • TimeZone.getDefault()

from

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

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

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

Parameters:
instant - преобразуемый момент времени
Returns:
объект Date , представляющий ту же точку на временной шкале, что и предоставленный момент времени
Throws:
NullPointerException - если instant равно null.
IllegalArgumentException - если момент времени слишком большой, чтобы быть представлен как Date
Since:
1.8

toInstant

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

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

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

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Date.html

Spec-Zone.ru

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