Класс 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):

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

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

http://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

Конструкторы

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(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 по Гринвичу 1 января 1970 года).

Параметры:
year - год минус 1900.
month - месяц от 0 до 11.
date - день месяца от 1 до 31.
hrs - часы от 0 до 23.
min - минуты от 0 до 59.
sec - секунды от 0 до 59.
Возвращает:
количество миллисекунд, прошедших с 1 января 1970 года, 00:00:00 по Гринвичу для указанной даты и времени.
См. также:
Calendar

parse

@Deprecated
public static long parse(String s)
Устаревшее.
С версии JDK 1.1 заменено на DateFormat.parse(String s).

Попытка интерпретировать строку s как представление даты и времени. Если попытка успешна, возвращается время, представленное как разность, измеренная в миллисекундах, между этим временем и эпохой (00:00:00 по Гринвичу 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 по Гринвичу, представленное строковым аргументом.
См. также:
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))

Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код для этого объекта.
См. также:
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 — год в виде четырех десятичных цифр.

Переопределяет:
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, 2020, 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/11/docs/api/java.base/java/util/Date.html

Spec-Zone .ru
спецификации, руководства, описания, API