Spec-Zone.ru › OpenJDK 27

Класс SimpleDateFormat

java.lang.Object
java.text.Format
java.text.DateFormat
java.text.SimpleDateFormat
Все реализуемые интерфейсы:
Serializable, Cloneable
public class SimpleDateFormat extends DateFormat
SimpleDateFormat — конкретный класс для форматирования и разбора дат с учетом локали. Он позволяет форматировать (дата → текст), разбирать (текст → дата) и нормализовать данные.

SimpleDateFormat позволяет начать работу, выбрав любые пользовательские шаблоны форматирования даты и времени. Однако рекомендуется создавать форматировщик даты и времени с помощью getTimeInstance, getDateInstance или getDateTimeInstance в DateFormat. Каждый из этих методов класса может возвращать форматировщик даты и времени, инициализированный шаблоном формата по умолчанию. При необходимости шаблон формата можно изменить с помощью методов applyPattern. Дополнительные сведения об использовании этих методов см. в разделе DateFormat.

Шаблоны даты и времени

Форматы даты и времени задаются строками шаблонов даты и времени. В строках шаблонов даты и времени не заключенные в кавычки буквы от 'A' до 'Z' и от 'a' до 'z' интерпретируются как буквы шаблона, обозначающие компоненты строки даты или времени. Текст можно заключить в одинарные кавычки ('), чтобы избежать интерпретации. "''" обозначает одинарную кавычку. Все остальные символы не интерпретируются: при форматировании они просто копируются в выходную строку, а при разборе сопоставляются с входной строкой.

Определены следующие буквы шаблонов (все остальные символы от 'A' до 'Z' и от 'a' до 'z', не перечисленные в таблице ниже, зарезервированы). Методы applyPattern(String), applyLocalizedPattern(String) и SimpleDateFormat constructors выбрасывают IllegalArgumentException, если им передан шаблон, содержащий не заключенный в кавычки зарезервированный символ.

Таблица букв шаблонов, компонентов даты/времени, представления и примеров.
Буква Компонент даты или времени Представление Примеры
G Обозначение эры Текст AD
y Год Год 1996; 96
Y Неделя года Год 2009; 09
M Месяц года (зависит от контекста) Месяц July; Jul; 07
L Месяц года (самостоятельная форма) Месяц July; Jul; 07
w Неделя года Число 27
W Неделя месяца Число 2
D День года Число 189
d День месяца Число 10
F День недели в месяце Число 2
E Название дня недели Текст Tuesday; Tue
u Номер дня недели (1 = понедельник, ..., 7 = воскресенье) Число 1
a Обозначение до/после полудня Текст PM
H Час дня (0–23) Число 0
k Час дня (1–24) Число 24
K Час до/после полудня (0–11) Число 0
h Час до/после полудня (1–12) Число 12
m Минута часа Число 30
s Секунда минуты Число 55
S Миллисекунда Число 978
z Часовой пояс Общий часовой пояс Pacific Standard Time; PST; GMT-08:00
Z Часовой пояс Часовой пояс RFC 822 -0800
X Часовой пояс Часовой пояс ISO 8601 -08; -0800; -08:00
Буквы шаблонов обычно повторяются, поскольку их количество определяет точный формат представления:
  • Текст: При форматировании, если количество букв шаблона равно 4 или больше, используется полная форма; в противном случае используется краткая или сокращенная форма, если она доступна. При разборе принимаются обе формы независимо от количества букв шаблона.

  • Число: При форматировании количество букв шаблона задает минимальное число цифр, а более короткие числа дополняются нулями до этого количества. При разборе количество букв шаблона игнорируется, если только оно не требуется для разделения двух соседних полей.

  • Год: Если Calendar форматировщика — григорианский календарь, применяются следующие правила.
    • При форматировании, если количество букв шаблона равно 2, год усекается до 2 цифр; в противном случае он интерпретируется как число.
    • При разборе, если количество букв шаблона больше 2, год интерпретируется буквально независимо от числа цифр. Поэтому при использовании шаблона "MM/dd/yyyy" строка "01/11/12" разбирается как 11 января 12 года нашей эры.
    • При разборе с сокращенным шаблоном года ("y" или "yy") SimpleDateFormat должен интерпретировать сокращенный год относительно некоторого столетия. Для этого он корректирует даты так, чтобы они находились в пределах 80 лет до и 20 лет после момента создания экземпляра SimpleDateFormat. Например, если используется шаблон "MM/dd/yy" и экземпляр SimpleDateFormat создан 1 января 1997 года, строка "01/11/12" будет интерпретирована как 11 января 2012 года, а строка "05/04/64" — как 4 мая 1964 года. При разборе в столетие по умолчанию преобразуются только строки, состоящие ровно из двух цифр, определяемых методом Character.isDigit(char). Любая другая числовая строка, например строка из одной цифры, строка из трех или более цифр либо строка из двух символов, не являющихся цифрами (например, "-1"), интерпретируется буквально. Поэтому строки "01/02/3" и "01/02/003" при использовании того же шаблона разбираются как 2 января 3 года нашей эры. Аналогично, "01/02/-3" разбирается как 2 января 4 года до нашей эры.
    В противном случае применяются формы, специфичные для календарной системы. При форматировании и разборе, если количество букв шаблона равно 4 или больше, используется полная форма, специфичная для календаря. В противном случае используется краткая или сокращенная форма, специфичная для календаря.

    Если указано значение года недели 'Y', а календарь не поддерживает годы недели, вместо него используется календарный год ('y'). Поддержку годов недели можно проверить вызовом getCalendar().isWeekDateSupported().

  • Месяц: Если количество букв шаблона равно 3 или больше, месяц интерпретируется как текст; в противном случае — как число.
    • Буква M формирует контекстно-зависимые названия месяцев, например встроенную форму названия. Буква M зависит от контекста в том смысле, что при использовании в отдельном шаблоне, например "MMMM", она задает самостоятельную форму названия месяца, а при использовании в шаблоне с другими полями, например "d MMMM", — форму названия месяца для форматирования. Например, по-каталански январь в форме для форматирования — "de gener", а в самостоятельной форме — "gener". В этом случае "MMMM" даст "gener", а часть месяца в "d MMMM" даст "de gener". Если DateFormatSymbols явно задан с помощью конструктора SimpleDateFormat(String,DateFormatSymbols) или метода setDateFormatSymbols(DateFormatSymbols), используются названия месяцев, заданные в DateFormatSymbols.
    • Буква L формирует самостоятельную форму названий месяцев.

  • Общий часовой пояс: Часовые пояса интерпретируются как текст, если у них есть названия. Для часовых поясов, обозначающих смещение относительно GMT, используется следующий синтаксис:
        GMTOffsetTimeZone:
                GMT Sign Hours : Minutes
        Sign: one of
                + -
        Hours:
                Digit
                Digit Digit
        Minutes:
                Digit Digit
        Digit: one of
                0 1 2 3 4 5 6 7 8 9
    Часы должны находиться в диапазоне от 0 до 23, а минуты — от 00 до 59. Формат не зависит от локали, цифры должны быть взяты из блока Basic Latin стандарта Unicode.

    При разборе также принимаются часовые пояса RFC 822.

  • Часовой пояс RFC 822: При форматировании используется формат часового пояса RFC 822 из 4 цифр:
        RFC822TimeZone:
                Sign TwoDigitHours Minutes
        TwoDigitHours:
                Digit Digit
    Двухзначное число часов должно находиться в диапазоне от 00 до 23. Остальные определения соответствуют общим часовым поясам.

    При разборе также принимаются общие часовые пояса.

  • Часовой пояс ISO 8601: Количество букв шаблона определяет формат как для форматирования, так и для разбора следующим образом:
        ISO8601TimeZone:
                OneLetterISO8601TimeZone
                TwoLetterISO8601TimeZone
                ThreeLetterISO8601TimeZone
        OneLetterISO8601TimeZone:
                Sign TwoDigitHours
                Z
        TwoLetterISO8601TimeZone:
                Sign TwoDigitHours Minutes
                Z
        ThreeLetterISO8601TimeZone:
                Sign TwoDigitHours : Minutes
                Z
    Остальные определения соответствуют общим часовым поясам или часовым поясам RFC 822.

    При форматировании, если значение смещения относительно GMT равно 0, формируется "Z". Если количество букв шаблона равно 1, дробная часть часа игнорируется. Например, если шаблон — "X", а часовой пояс — "GMT+05:30", формируется "+05".

    При разборе "Z" разбирается как обозначение часового пояса UTC. Общие часовые пояса не принимаются.

    Если количество букв шаблона равно 4 или больше, при создании SimpleDateFormat или применении шаблона выбрасывается IllegalArgumentException.

SimpleDateFormat также поддерживает строки локализованных шаблонов даты и времени. В этих строках описанные выше буквы шаблонов могут заменяться другими буквами шаблонов, зависящими от локали. SimpleDateFormat не выполняет локализацию текста, отличного от букв шаблонов; это задача клиента класса.

Примеры

В следующих примерах показана интерпретация шаблонов даты и времени в локали США. Указанные дата и время — 2001-07-04 12:08:56 по местному времени в часовом поясе тихоокеанского времени США.
Примеры интерпретации шаблонов даты и времени в локали США
Шаблон даты и времени Результат
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" 2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u" 2001-W27-3

Синхронизация

Форматировщики дат не синхронизированы. Рекомендуется создавать отдельные экземпляры форматировщика для каждого потока. Если несколько потоков одновременно обращаются к форматировщику, его необходимо синхронизировать извне.

Примечание к API:
Рассмотрите возможность использования DateTimeFormatter в качестве неизменяемой и потокобезопасной альтернативы.
Начиная с:
1.1
См. также:
  • Учебное руководство Java
  • Calendar
  • TimeZone
  • DateFormat
  • DateFormatSymbols
  • DateTimeFormatter
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе DateFormat

DateFormat.Field
Модификатор и тип Класс Описание
static class  DateFormat.Field
Определяет константы, используемые в качестве ключей атрибутов в AttributedCharacterIterator, возвращаемом DateFormat.formatToCharacterIterator, и в качестве идентификаторов полей в FieldPosition.

Краткое описание полей

Поля, объявленные в классе DateFormat

AM_PM_FIELD, calendar, DATE_FIELD, DAY_OF_WEEK_FIELD, DAY_OF_WEEK_IN_MONTH_FIELD, DAY_OF_YEAR_FIELD, DEFAULT, ERA_FIELD, FULL, HOUR_OF_DAY0_FIELD, HOUR_OF_DAY1_FIELD, HOUR0_FIELD, HOUR1_FIELD, LONG, MEDIUM, MILLISECOND_FIELD, MINUTE_FIELD, MONTH_FIELD, numberFormat, SECOND_FIELD, SHORT, TIMEZONE_FIELD, WEEK_OF_MONTH_FIELD, WEEK_OF_YEAR_FIELD, YEAR_FIELD
Модификатор и тип Поле Описание
static final int AM_PM_FIELD
Полезная константа для выравнивания поля AM_PM.
protected Calendar calendar
Экземпляр Calendar, используемый для вычисления полей даты и времени, а также момента времени.
static final int DATE_FIELD
Полезная константа для выравнивания поля DATE.
static final int DAY_OF_WEEK_FIELD
Полезная константа для выравнивания поля DAY_OF_WEEK.
static final int DAY_OF_WEEK_IN_MONTH_FIELD
Полезная константа для выравнивания поля DAY_OF_WEEK_IN_MONTH.
static final int DAY_OF_YEAR_FIELD
Полезная константа для выравнивания поля DAY_OF_YEAR.
static final int DEFAULT
Константа для шаблона стиля по умолчанию.
static final int ERA_FIELD
Полезная константа для выравнивания поля ERA.
static final int FULL
Константа для шаблона полного стиля.
static final int HOUR_OF_DAY0_FIELD
Полезная константа для выравнивания поля HOUR_OF_DAY с отсчётом от нуля.
static final int HOUR_OF_DAY1_FIELD
Полезная константа для выравнивания поля HOUR_OF_DAY с отсчётом от единицы.
static final int HOUR0_FIELD
Полезная константа для выравнивания поля HOUR с отсчётом от нуля.
static final int HOUR1_FIELD
Полезная константа для выравнивания поля HOUR с отсчётом от единицы.
static final int LONG
Константа для шаблона длинного стиля.
static final int MEDIUM
Константа для шаблона среднего стиля.
static final int MILLISECOND_FIELD
Полезная константа для выравнивания поля MILLISECOND.
static final int MINUTE_FIELD
Полезная константа для выравнивания поля MINUTE.
static final int MONTH_FIELD
Полезная константа для выравнивания поля MONTH.
protected NumberFormat numberFormat
Форматтер чисел, который DateFormat использует для форматирования чисел в датах и времени.
static final int SECOND_FIELD
Полезная константа для выравнивания поля SECOND.
static final int SHORT
Константа для шаблона короткого стиля.
static final int TIMEZONE_FIELD
Полезная константа для выравнивания поля TIMEZONE.
static final int WEEK_OF_MONTH_FIELD
Полезная константа для выравнивания поля WEEK_OF_MONTH.
static final int WEEK_OF_YEAR_FIELD
Полезная константа для выравнивания поля WEEK_OF_YEAR.
static final int YEAR_FIELD
Полезная константа для выравнивания поля YEAR.

Краткое описание конструкторов

Конструктор Описание
SimpleDateFormat()
Создаёт SimpleDateFormat с использованием шаблона и символов формата даты по умолчанию для локали FORMAT по умолчанию.
SimpleDateFormat(String pattern)
Создаёт SimpleDateFormat с использованием заданного шаблона и символов формата даты по умолчанию для локали FORMAT по умолчанию.
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
Создаёт SimpleDateFormat с использованием заданного шаблона и символов формата даты.
SimpleDateFormat(String pattern, Locale locale)
Создаёт SimpleDateFormat с использованием заданного шаблона и символов формата даты по умолчанию для указанной локали.

Краткое описание методов

Модификатор и тип Метод Описание
void applyLocalizedPattern(String pattern)
Применяет к этому формату даты заданную локализованную строку шаблона.
void applyPattern(String pattern)
Применяет к этому формату даты заданную строку шаблона.
Object clone()
Создаёт копию этого SimpleDateFormat.
boolean equals(Object obj)
Сравнивает указанный объект с этим SimpleDateFormat на равенство.
StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)
Форматирует заданный Date в строку даты и времени и добавляет результат в заданный StringBuffer.
AttributedCharacterIterator formatToCharacterIterator(Object obj)
Форматирует объект, создавая AttributedCharacterIterator.
Date get2DigitYearStart()
Возвращает начальную дату 100-летнего периода, к которому относятся годы, заданные двумя цифрами.
DateFormatSymbols getDateFormatSymbols()
Возвращает копию символов формата даты и времени этого формата даты.
int hashCode()
Возвращает значение хеш-кода для этого SimpleDateFormat.
Date parse(String text, ParsePosition pos)
Разбирает текст строки для получения Date.
void set2DigitYearStart(Date startDate)
Задаёт начало 100-летнего периода, к которому будут относиться годы, заданные двумя цифрами, указав дату.
void setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
Задаёт символы формата даты и времени для этого формата даты.
String toLocalizedPattern()
Возвращает локализованную строку шаблона, описывающую этот формат даты.
String toPattern()
Возвращает строку шаблона, описывающую этот формат даты.
String toString()
Возвращает строку, идентифицирующую этот SimpleDateFormat, для отладки.

Методы, объявленные в классе DateFormat

format, format, getAvailableLocales, getCalendar, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getNumberFormat, getTimeInstance, getTimeInstance, getTimeInstance, getTimeZone, isLenient, parse, parseObject, setCalendar, setLenient, setNumberFormat, setTimeZone
Модификатор и тип Метод Описание
final StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition)
Форматирует заданный Object в строку даты и времени.
final String format(Date date)
Форматирует Date в строку даты и времени.
static Locale[] getAvailableLocales()
Возвращает массив всех локалей, для которых методы get*Instance этого класса могут возвращать локализованные экземпляры.
Calendar getCalendar()
Возвращает календарь, связанный с этим форматтером даты и времени.
static final DateFormat getDateInstance()
Возвращает форматтер даты со стилем форматирования по умолчанию для локали FORMAT по умолчанию.
static final DateFormat getDateInstance(int style)
Возвращает форматтер даты с заданным стилем форматирования для локали FORMAT по умолчанию.
static final DateFormat getDateInstance(int style, Locale aLocale)
Возвращает форматтер даты с заданным стилем форматирования для указанной локали.
static final DateFormat getDateTimeInstance()
Возвращает форматтер даты и времени со стилем форматирования по умолчанию для локали FORMAT по умолчанию.
static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle)
Возвращает форматтер даты и времени с заданными стилями форматирования даты и времени для локали FORMAT по умолчанию.
static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale)
Возвращает форматтер даты и времени с заданными стилями форматирования для указанной локали.
static final DateFormat getInstance()
Возвращает форматтер даты и времени по умолчанию, использующий стиль SHORT как для даты, так и для времени.
NumberFormat getNumberFormat()
Возвращает форматтер чисел, используемый этим форматтером даты и времени для форматирования и разбора времени.
static final DateFormat getTimeInstance()
Возвращает форматтер времени со стилем форматирования по умолчанию для локали FORMAT по умолчанию.
static final DateFormat getTimeInstance(int style)
Возвращает форматтер времени с заданным стилем форматирования для локали FORMAT по умолчанию.
static final DateFormat getTimeInstance(int style, Locale aLocale)
Возвращает форматтер времени с заданным стилем форматирования для указанной локали.
TimeZone getTimeZone()
Возвращает часовой пояс.
boolean isLenient()
Определяет, должен ли разбор даты и времени выполняться с допусками.
Date parse(String source)
Разбирает текст от начала заданной строки для получения даты.
Object parseObject(String source, ParsePosition pos)
Разбирает текст строки для получения Date.
void setCalendar(Calendar newCalendar)
Задаёт календарь, который будет использоваться этим форматом даты.
void setLenient(boolean lenient)
Указывает, должен ли разбор даты и времени выполняться с допусками.
void setNumberFormat(NumberFormat newNumberFormat)
Позволяет задать форматтер чисел.
void setTimeZone(TimeZone zone)
Задаёт часовой пояс для календаря этого объекта DateFormat.

Методы, объявленные в классе Format

format, parseObject
Модификатор и тип Метод Описание
final String format(Object obj)
Форматирует объект, создавая строку.
Object parseObject(String source)
Разбирает текст от начала заданной строки для получения объекта.

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

finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени.

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

SimpleDateFormat

public SimpleDateFormat()
Создает SimpleDateFormat, используя шаблон по умолчанию и символы формата даты для локали FORMAT по умолчанию. Примечание: Этот конструктор может поддерживать не все локали. Для полной поддержки используйте фабричные методы класса DateFormat.

SimpleDateFormat

public SimpleDateFormat(String pattern)
Создает SimpleDateFormat, используя заданный шаблон и символы формата даты по умолчанию для локали FORMAT по умолчанию. Примечание: Этот конструктор может поддерживать не все локали. Для полной поддержки используйте фабричные методы класса DateFormat.

Эквивалентно вызову SimpleDateFormat(pattern, Locale.getDefault(Locale.Category.FORMAT)).

Параметры:
pattern — шаблон, описывающий формат даты и времени
Исключения:
NullPointerException — если заданный шаблон равен null
IllegalArgumentException — если заданный шаблон недопустим
См. также:
  • Locale.getDefault(java.util.Locale.Category)
  • Locale.Category.FORMAT

SimpleDateFormat

public SimpleDateFormat(String pattern, Locale locale)
Создает SimpleDateFormat, используя заданный шаблон и символы формата даты по умолчанию для заданной локали. Примечание: Этот конструктор может поддерживать не все локали. Для полной поддержки используйте фабричные методы класса DateFormat.
Параметры:
pattern — шаблон, описывающий формат даты и времени
locale — локаль, символы формата даты которой следует использовать
Исключения:
NullPointerException — если заданный шаблон или локаль равны null
IllegalArgumentException — если заданный шаблон недопустим

SimpleDateFormat

public SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
Создает SimpleDateFormat, используя заданный шаблон и символы формата даты.
Параметры:
pattern — шаблон, описывающий формат даты и времени
formatSymbols — символы формата даты, которые следует использовать для форматирования
Исключения:
NullPointerException — если заданный шаблон или formatSymbols равны null
IllegalArgumentException — если заданный шаблон недопустим

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

set2DigitYearStart

public void set2DigitYearStart(Date startDate)
Задает дату начала 100-летнего периода, к которому будут относиться двузначные годы, указанную пользователем.
Параметры:
startDate — при разборе двузначные годы будут помещены в диапазон от startDate до startDate + 100 years.
Исключения:
NullPointerException — если startDate равно null.
Начиная с:
1.2
См. также:
  • get2DigitYearStart()

get2DigitYearStart

public Date get2DigitYearStart()
Возвращает начальную дату 100-летнего периода, к которому относятся двузначные годы.
Возвращает:
начало 100-летнего периода, в который попадают двузначные годы при разборе
Начиная с:
1.2
См. также:
  • set2DigitYearStart(Date)

format

public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)
Форматирует заданное значение Date в строку даты и времени и добавляет результат в заданный StringBuffer.
Определено в:
format в классе DateFormat
Параметры:
date — значение даты и времени, которое необходимо преобразовать в строку даты и времени.
toAppendTo — место, куда будет добавлен новый текст даты и времени.
pos — отслеживает позицию поля в возвращаемой строке. Например, если текст даты и времени имеет вид "1996.07.10 AD at 15:08:56 PDT", а заданный fieldPosition — DateFormat.YEAR_FIELD, начальный и конечный индексы fieldPosition будут установлены соответственно в 0 и 4. Обратите внимание: если одно и то же поле даты и времени встречается в шаблоне несколько раз, fieldPosition будет установлено для первого вхождения этого поля даты и времени. Например, при форматировании Date в строку даты и времени "1 PM PDT (Pacific Daylight Time)" с использованием шаблона "h a z (zzzz)" и поля выравнивания DateFormat.TIMEZONE_FIELD начальный и конечный индексы fieldPosition для первого вхождения символа шаблона часового пояса 'z' будут установлены соответственно в 5 и 8.
Возвращает:
отформатированную строку даты и времени.
Исключения:
NullPointerException — если любой из параметров равен null.

formatToCharacterIterator

public AttributedCharacterIterator formatToCharacterIterator(Object obj)
Форматирует объект, создавая AttributedCharacterIterator. Возвращаемый AttributedCharacterIterator можно использовать для формирования результирующей строки, а также для получения информации о ней.

Ключ каждого атрибута AttributedCharacterIterator будет иметь тип DateFormat.Field, а соответствующее значение атрибута будет совпадать с его ключом.

Переопределяет:
formatToCharacterIterator в классе Format
Параметры:
obj — объект для форматирования
Возвращает:
AttributedCharacterIterator, описывающий отформатированное значение.
Исключения:
NullPointerException — если obj равен null.
IllegalArgumentException — если Format не может отформатировать заданный объект или строка шаблона Format недопустима.
Начиная с:
1.4

parse

public Date parse(String text, ParsePosition pos)
Разбирает текст из строки, чтобы получить Date.

Метод пытается разобрать текст, начиная с индекса, заданного в pos. Если разбор выполнен успешно, индекс pos обновляется до индекса после последнего использованного символа (при разборе необязательно используются все символы до конца строки), а разобранная дата возвращается. Обновленный pos можно использовать как начальную позицию для следующего вызова этого метода. Если возникает ошибка, индекс pos не изменяется, индекс ошибки pos устанавливается в позицию символа, на котором произошла ошибка, а метод возвращает null.

При этой операции разбора для получения Date используется calendar. Все поля даты и времени calendar очищаются перед разбором, а для отсутствующих данных о дате и времени используются значения полей даты и времени по умолчанию из calendar. Например, если в ходе разбора не задан год, значением года разобранного Date будет 1970 при использовании GregorianCalendar. Значение TimeZone может быть переопределено в зависимости от заданного шаблона и значения часового пояса в text. Значение TimeZone, ранее заданное вызовом setTimeZone, возможно, потребуется восстановить для дальнейших операций.

Определено в:
parse в классе DateFormat
Параметры:
text — String, часть которого необходимо разобрать.
pos — объект ParsePosition с информацией об индексе и индексе ошибки, как описано выше.
Возвращает:
Разобранное из строки значение Date. В случае ошибки возвращает null.
Исключения:
NullPointerException — если text или pos равен null.

toPattern

public String toPattern()
Возвращает строку шаблона, описывающую этот формат даты.
Возвращает:
строку шаблона, описывающую этот формат даты.

toLocalizedPattern

public String toLocalizedPattern()
Возвращает локализованную строку шаблона, описывающую этот формат даты.
Возвращает:
локализованную строку шаблона, описывающую этот формат даты.

applyPattern

public void applyPattern(String pattern)
Применяет заданную строку шаблона к этому формату даты.
Параметры:
pattern — новый шаблон даты и времени для этого формата даты
Исключения:
NullPointerException — если заданный шаблон равен null
IllegalArgumentException — если заданный шаблон недопустим

applyLocalizedPattern

public void applyLocalizedPattern(String pattern)
Применяет заданную локализованную строку шаблона к этому формату даты.
Параметры:
pattern — строка, которую следует преобразовать в новый шаблон формата даты и времени для этого формата
Исключения:
NullPointerException — если заданный шаблон равен null
IllegalArgumentException — если заданный шаблон недопустим

getDateFormatSymbols

public DateFormatSymbols getDateFormatSymbols()
Возвращает копию символов формата даты и времени для этого формата даты.
Возвращает:
символы формата даты и времени для этого формата даты
См. также:
  • setDateFormatSymbols(DateFormatSymbols)

setDateFormatSymbols

public void setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
Задает символы формата даты и времени для этого формата даты.
Параметры:
newFormatSymbols — новые символы формата даты и времени
Исключения:
NullPointerException — если заданный newFormatSymbols равен null
См. также:
  • getDateFormatSymbols()

clone

public Object clone()
Создает копию этого SimpleDateFormat. При этом также клонируются символы формата даты.
Переопределяет:
clone в классе DateFormat
Возвращает:
клон этого SimpleDateFormat
См. также:
  • Cloneable

hashCode

public int hashCode()
Возвращает хеш-код этого SimpleDateFormat.
Переопределяет:
hashCode в классе DateFormat
Требования к реализации:
Этот метод вычисляет хеш-код, используя значение, возвращаемое методом toPattern().
Возвращает:
хеш-код этого SimpleDateFormat
См. также:
  • Object.hashCode()

toString

public String toString()
Возвращает строку, идентифицирующую этот SimpleDateFormat, для отладки.
Переопределяет:
toString в классе Object
Возвращает:
строку, идентифицирующую этот SimpleDateFormat, для отладки

equals

public boolean equals(Object obj)
Сравнивает указанный объект с этим SimpleDateFormat на равенство. Возвращает true, если объект также является SimpleDateFormat и оба формата будут одинаково форматировать любое значение.
Переопределяет:
equals в классе DateFormat
Требования к реализации:
Этот метод проверяет равенство, определяя идентичность класса на основе getClass(), а не instanceof. Поэтому в методах equals подклассов экземпляр этого класса не должен считаться равным экземпляру подкласса.
Параметры:
obj — объект для сравнения на равенство
Возвращает:
true, если указанный объект равен этому SimpleDateFormat
См. также:
  • Object.equals(Object)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, в том числе концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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