|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Date extends Object implements Serializable, Cloneable, Comparable<Date>
Date представляет определенный момент вовремя, с точностью миллисекунды. До JDK 1.1, class Date имел две дополнительных функции. Это позволило интерпретацию дат как год, месяц, день, час, минута, и вторые значения. Это также позволило форматирование и парсинг строк даты. К сожалению, API для этих функций не поддавался интернационализации. С JDK 1.1, Calendar class должен использоваться, чтобы преобразовать между датами и полями времени и DateFormat class должен использоваться, чтобы отформатировать и проанализировать строки даты. Соответствующие методы в Date осуждаются.
Хотя Date class предназначается, чтобы отразить всемирное координированное время (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, но не корректируется в течение секунд прыжка. Интересным источником дополнительной информации являются США. Военно-морская Обсерватория, особенно Управление Времени в:
и их определения "Систем Времени" в:
Во всех методах class Date это принимает или возвращает год, месяц, дату, часы, минуты, и значения секунд, следующие представления используются:
- 1900. Во всех случаях параметры, данные методам в этих целях, не должны находиться в пределах обозначенных диапазонов; например, дата может быть определена как январь 32 и интерпретируется как значение 1 февраля.
DateFormat, Calendar, TimeZone, Сериализированная Форма| Конструктор и Описание |
|---|
Date()
Выделяет a
Date возразите и инициализирует это так, чтобы это представило время, в которое это было выделено, измеренное к самой близкой миллисекунде. |
Date(int year, int month, int date)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(year + 1900, month, date) или GregorianCalendar(year + 1900, month, date). |
Date(int year, int month, int date, int hrs, int min)
Осуждаемый.
С версии 1.1 JDK, замененной
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)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec). |
Date(long date)
Выделяет a
Date возразите и инициализирует это, чтобы представить конкретное количество миллисекунд со стандартного норматива времени, известного как "эпоха", а именно, 1 января 1970, GMT 0:00:00. |
Date(String s)
Осуждаемый.
С версии 1.1 JDK, замененной
DateFormat.parse(String s). |
| Модификатор и Тип | Метод и Описание |
|---|---|
boolean |
after(Date when)
Тесты, если эта дата после указанной даты.
|
boolean |
before(Date when)
Тесты, если эта дата перед указанной датой.
|
Объект |
clone()
Возвратите копию этого объекта.
|
int |
compareTo(Date anotherDate)
Сравнивает две Даты упорядочивания.
|
boolean |
equals(Object obj)
Сравнивает две даты равенства.
|
static Date |
from(Instant instant)
Получает экземпляр
Date от Instant объект. |
int |
getDate()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.DAY_OF_MONTH). |
int |
getDay()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.DAY_OF_WEEK). |
int |
getHours()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.HOUR_OF_DAY). |
int |
getMinutes()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.MINUTE). |
int |
getMonth()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.MONTH). |
int |
getSeconds()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.SECOND). |
long |
getTime()
Возвращает число миллисекунд с 1 января 1970, GMT 0:00:00, представленный этим объектом Date.
|
int |
getTimezoneOffset()
Осуждаемый.
С версии 1.1 JDK, замененной
-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000). |
int |
getYear()
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.get(Calendar.YEAR) - 1900. |
int |
hashCode()
Возвращает значение хэш-кода для этого объекта.
|
static long |
parse(String s)
Осуждаемый.
С версии 1.1 JDK, замененной
DateFormat.parse(String s). |
void |
setDate(int date)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(Calendar.DAY_OF_MONTH, int date). |
void |
setHours(int hours)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(Calendar.HOUR_OF_DAY, int hours). |
void |
setMinutes(int minutes)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(Calendar.MINUTE, int minutes). |
void |
setMonth(int month)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(Calendar.MONTH, int month). |
void |
setSeconds(int seconds)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(Calendar.SECOND, int seconds). |
void |
setTime(long time)
Наборы это
Date объект представить момент времени, который является time миллисекунды после 1 января 1970 GMT 0:00:00. |
void |
setYear(int year)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(Calendar.YEAR, year + 1900). |
Строка |
toGMTString()
Осуждаемый.
С версии 1.1 JDK, замененной
DateFormat.format(Date date), использование GMT TimeZone. |
Момент |
toInstant()
Преобразовывает это
Date возразите против Instant. |
Строка |
toLocaleString()
Осуждаемый.
С версии 1.1 JDK, замененной
DateFormat.format(Date date). |
Строка |
toString()
Преобразовывает это
Date возразите против a String из формы: |
static long |
UTC(int year, int month, int date, int hrs, int min, int sec)
Осуждаемый.
С версии 1.1 JDK, замененной
Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec), использование UTC TimeZone, сопровождаемый Calendar.getTime().getTime(). |
public Date()
Date возразите и инициализирует это так, чтобы это представило время, в которое это было выделено, измеренное к самой близкой миллисекунде.System.currentTimeMillis()public Date(long date)
Date возразите и инициализирует это, чтобы представить конкретное количество миллисекунд со стандартного норматива времени, известного как "эпоха", а именно, 1 января 1970, GMT 0:00:00.date - миллисекунды с 1 января 1970, GMT 0:00:00.System.currentTimeMillis()@Deprecated public Date(int year, int month, int date)
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)
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)
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)
DateFormat.parse(String s).Date возразите и инициализирует это так, чтобы это представило дату и время, указанное строкой s, который интерпретируется как будто parse(java.lang.String) метод.s - строковое представление даты.DateFormat, parse(java.lang.String)public Object clone()
@Deprecated public static long UTC(int year, int month, int date, int hrs, int min, int sec)
Calendar.set(year + 1900, month, date, hrs, min, sec) или GregorianCalendar(year + 1900, month, date, hrs, min, sec), использование UTC TimeZone, сопровождаемый Calendar.getTime().getTime().year - год минус 1900.month - месяц между 0-11.date - день месяца между 1-31.hrs - часы между 0-23.min - минуты между 0-59.sec - секунды между 0-59.Calendar@Deprecated public static long parse(String s)
DateFormat.parse(String s).Это принимает много синтаксисов; в частности это распознает стандартный синтаксис даты IETF: "Суббота, 12 августа 1995 GMT 13:30:00". Это также понимает континентальные американские сокращения часового пояса, но для общего использования, смещение часового пояса должно использоваться: "Суббота, 12 августа 1995 13:30:00 GMT+0430" (4 часа, 30 минут к западу от Гринвичского меридиана). Если никакой часовой пояс не определяется, зона местного времени принимается. GMT и UTC считают эквивалентными.
Строка s обрабатывается слева направо, ища данные интереса. Любой материал в s, который является в пределах символов круглой скобки ASCII ( и ), игнорируется. Круглые скобки могут быть вложены. Иначе, единственные символы, разрешенные в пределах s, являются этими символами ASCII:
и пробельные символы.abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789,+-:/
Последовательная последовательность десятичных цифр обрабатывается как десятичное число:
SimpleDateFormat. Последовательная последовательность букв расценивается как слово и обрабатывается следующим образом:
Однажды вся строка был отсканирован s, это преобразовывается в результат времени одним из двух способов. Если смещение часового пояса или часового пояса было распознано, то год, месяц, день месяца, часа, минуты, и второй интерпретируются в UTC, и затем смещение часового пояса применяется. Иначе, год, месяц, день месяца, часа, минуты, и второй интерпретируются в зоне местного времени.
s - строка, которая будет проанализирована как дата.DateFormat@Deprecated public int getYear()
Calendar.get(Calendar.YEAR) - 1900.Date объект, как интерпретирующийся в зоне местного времени.Calendar@Deprecated public void setYear(int year)
Calendar.set(Calendar.YEAR, year + 1900).Date объект изменяется так, чтобы он представил момент времени в течение указанного года, с месяцем, датой, час, минута, и второй то же самое как прежде, как интерпретирующийся в зоне местного времени. (Конечно, если дата была 29 февраля, например, и год устанавливается в невисокосный год, то новая дата будет обработана, как будто это было 1 марта.)year - значение года.Calendar@Deprecated public int getMonth()
Calendar.get(Calendar.MONTH).0 и 11, со значением 0 представление января.Calendar@Deprecated public void setMonth(int month)
Calendar.set(Calendar.MONTH, int month).month - значение месяца между 0-11.Calendar@Deprecated public int getDate()
Calendar.get(Calendar.DAY_OF_MONTH).1 и 31 представление дня месяца, который содержит или начинается с момента, вовремя представленного этим объектом Date, как интерпретирующийся в зоне местного времени.Calendar@Deprecated public void setDate(int date)
Calendar.set(Calendar.DAY_OF_MONTH, int date).date - день месяца оценивает между 1-31.Calendar@Deprecated public int getDay()
Calendar.get(Calendar.DAY_OF_WEEK).Calendar@Deprecated public int getHours()
Calendar.get(Calendar.HOUR_OF_DAY).Calendar@Deprecated public void setHours(int hours)
Calendar.set(Calendar.HOUR_OF_DAY, int hours).hours - значение часа.Calendar@Deprecated public int getMinutes()
Calendar.get(Calendar.MINUTE).0 и 59.Calendar@Deprecated public void setMinutes(int minutes)
Calendar.set(Calendar.MINUTE, int minutes).minutes - значение минут.Calendar@Deprecated public int getSeconds()
Calendar.get(Calendar.SECOND).0 и 61. Значения 60 и 61 может только произойти на тех виртуальных машинах Java, которые принимают секунды прыжка во внимание.Calendar@Deprecated public void setSeconds(int seconds)
Calendar.set(Calendar.SECOND, int seconds).seconds - значение секунд.Calendarpublic long getTime()
public void setTime(long time)
Date объект представить момент времени, который является time миллисекунды после 1 января 1970 GMT 0:00:00.time - число миллисекунд.public boolean before(Date when)
when - дата.true если и только если момент времени, представленного этим объектом Date, строго ранее чем момент, представленный when; false иначе.NullPointerException - если when нуль.public boolean after(Date when)
when - дата.true если и только если момент, представленный этим объектом Date, строго позже чем момент, представленный when; false иначе.NullPointerException - если when нуль.public boolean equals(Object obj)
true если и только если параметр не null и a Date объект, который представляет тот же самый момент времени, к миллисекунде, как этот объект. Таким образом, два Date объекты равны если и только если getTime метод возвращает то же самое long значение для обоих.
public int compareTo(Date anotherDate)
compareTo в интерфейсе Comparable<Date>anotherDate - Date быть сравненным.0 если Дата параметра равна этой Дате; значение меньше чем 0 если эта Дата перед параметром Даты; и значение, больше чем 0 если эта Дата после параметра Даты.NullPointerException - если anotherDate нуль.public int hashCode()
getTime() метод. Таким образом, хэш-код является значением выражения: (int)(this.getTime()^(this.getTime() >>> 32))
hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString()
Date возразите против a String из формы: где:dow mon dd hh:mm:ss zzz yyyy
toString в class ObjecttoLocaleString(), toGMTString()@Deprecated public String toLocaleString()
DateFormat.format(Date date).%c"формат, поддерживаемый strftime() функция ISO C.DateFormat, toString(), toGMTString()@Deprecated public String toGMTString()
DateFormat.format(Date date), использование GMT TimeZone.d понедельник yyyy hh:mm:ss GMT где:
- d является днем месяца (1 через 31) как одна или две десятичных цифры.
- понедельник является месяцем (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).
- yyyy является годом как четыре десятичных цифры.
- гд является часом дня (00 через 23) как две десятичных цифры.
- MMS является минутой в течение часа (00 через 59) как две десятичных цифры.
- ss является вторым в течение минуты (00 через 61) как две десятичных цифры.
- GMT является точно буквами ASCII "GMT", чтобы указать на Среднее время по Гринвичу.
Результат не зависит от зоны местного времени.
DateFormat, toString(), toLocaleString()@Deprecated public int getTimezoneOffset()
-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000).Date объект. Например, в Массачусетсе, пять часовых поясов к западу от Гринвича:
потому что 14 февраля 1996, стандартное время (Восточное Стандартное Время) используется, который смещается пять часов до UTC; но:new Date(96, 1, 14).getTimezoneOffset() returns 300
потому что 1 июня 1996, летнее время (Восточное Летнее время) используется, который смещается только четыре часа до UTC.new Date(96, 5, 1).getTimezoneOffset() returns 240
Этот метод приводит к тому же самому результату, как будто это вычислило:
(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()public static Date from(Instant instant)
Date от Instant объект.
Instant использует точность наносекунд, тогда как Date использует точность миллисекунд. Преобразование будет trancate любая избыточная информация о точности, как если бы количество в наносекундах подвергалось целочисленному делению на один миллион.
Instant может сохранить точки на временной шкале далее в будущем и далее в прошлом чем Date. В этом сценарии этот метод выдаст исключение.
instant - момент, чтобы преобразоватьDate представление той же самой точки на временной шкале как обеспеченный моментNullPointerException - если instant нуль.IllegalArgumentException - если момент является слишком большим, чтобы представить как a Datepublic Instant toInstant()
Date возразите против Instant. Преобразование создает Instant это представляет ту же самую точку на временной шкале как это Date.
Date объект
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92