Spec-Zone .ru
спецификации, руководства, описания, API
|
public class SimpleDateFormat extends DateFormat
SimpleDateFormat
реальный класс для форматирования и парсинга дат чувствительным к локали способом. Это учитывает форматирование (дата-> текст), анализируя (текст-> дата), и нормализация.
SimpleDateFormat
позволяет Вам запускать, выбирая любые определяемые пользователем образцы для разового датой форматирования. Однако, Вы поощряетесь создать разовое датой средство форматирования с также getTimeInstance
, getDateInstance
, или getDateTimeInstance
в DateFormat
. Каждый из этих методов класса может возвратить средство форматирования даты/времени, инициализированное с образцом формата по умолчанию. Можно изменить образец формата, используя applyPattern
методы как требующийся. Для получения дополнительной информации об использовании этих методов см. DateFormat
.
Дата и форматы времени определяются по времени и строки образца времени. В пределах даты и строк образца времени, закрывших кавычки букв от 'A'
к 'Z'
и от 'a'
к 'z'
интерпретируются как буквы образца, представляющие компоненты строки времени или даты. Текст может быть заключен в кавычки, используя одинарные кавычки ('
) избегать интерпретации. "''"
представляет одинарную кавычку. Все другие символы не интерпретируются; они просто копируются в выходную строку во время форматирования или соответствующие против строки ввода во время парсинга.
Следующие буквы образца определяются (все другие символы от 'A'
к 'Z'
и от 'a'
к 'z'
резервируются):
Буквы образца обычно повторяются, поскольку их число определяет точное представление:
Буква Дата или Компонент Времени Представление Примеры G
Указатель эры Текст AD
y
Год Год 1996
;96
Y
Недельный год Год 2009
;09
M
Месяц в году Месяц 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
Calendar
Григорианский календарь, следующие правила применяются.SimpleDateFormat
должен интерпретировать сокращенный год относительно некоторого столетия. Это делает это, корректируя даты, чтобы быть в течение 80 лет прежде и спустя 20 лет после времени SimpleDateFormat
экземпляр создается. Например, используя образец "MM/dd/yy" и a 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 AD. Аналогично, "01/02/-3" анализируется как Ян 2, 4 BC. 'Y'
определяется и календарь не поддерживает недельных лет, календарного года ('y'
) используется вместо этого. Поддержка недельных лет может быть протестирована со звонком getCalendar()
.isWeekDateSupported()
.GMTOffsetTimeZone:Часы должны быть между 0 и 23, и Минуты должны быть между 00 и 59. Формат является независимой локалью, и цифры должны быть взяты от Основного латинского блока стандарта Unicode.GMT
Sign Hours:
Minutes Sign: one of+ -
Hours: Digit Digit Digit Minutes: Digit Digit Digit: one of0 1 2 3 4 5 6 7 8 9
Для парсинга также принимаются часовые пояса RFC 822.
RFC822TimeZone: Sign TwoDigitHours Minutes TwoDigitHours: Digit DigitTwoDigitHours должен быть между 00 и 23. Другие определения что касается общих часовых поясов.
Для того, чтобы проанализировать, также принимаются общие часовые пояса.
ISO8601TimeZone: OneLetterISO8601TimeZone TwoLetterISO8601TimeZone ThreeLetterISO8601TimeZone OneLetterISO8601TimeZone: Sign TwoDigitHoursДругие определения что касается общих часовых поясов или часовых поясов RFC 822.Z
TwoLetterISO8601TimeZone: Sign TwoDigitHours MinutesZ
ThreeLetterISO8601TimeZone: Sign TwoDigitHours:
MinutesZ
Для того, чтобы отформатировать, если значение смещения от GMT 0, "Z"
производится. Если число букв образца 1, любая часть часа игнорируется. Например, если образец "X"
и часовой пояс "GMT+05:30"
, "+05"
производится.
Для того, чтобы проанализировать, "Z"
анализируется как указатель часового пояса UTC. Общие часовые пояса не принимаются.
Если число букв образца 4 или больше, IllegalArgumentException
бросается, создавая a SimpleDateFormat
или применение образца.
SimpleDateFormat
также поддерживает локализованную дату и строки образца времени. В этих строках буквы образца, описанные выше, могут быть заменены другим, зависимая локаль, буквы образца. SimpleDateFormat
не имеет дело с локализацией текста кроме букв образца; это до клиента класса.
Дата и Образец Времени Результат "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
Форматы даты не синхронизируются. Рекомендуется создать отдельные экземпляры формата для каждого потока. Если многократные потоки получают доступ к формату одновременно, он должен синхронизироваться внешне.
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
Конструктор и Описание |
---|
SimpleDateFormat()
Конструкции a
SimpleDateFormat использование образца по умолчанию и даты форматирует символы для локали по умолчанию. |
SimpleDateFormat(String pattern)
Конструкции a
SimpleDateFormat использование данного образца и даты по умолчанию форматирует символы для локали по умолчанию. |
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
Конструкции a
SimpleDateFormat использование данного образца и даты форматирует символы. |
SimpleDateFormat(String pattern, Locale locale)
Конструкции a
SimpleDateFormat использование данного образца и даты по умолчанию форматирует символы для данной локали. |
Модификатор и Тип | Метод и Описание |
---|---|
void |
applyLocalizedPattern(String pattern)
Применяет данную локализованную строку образца к этому формату даты.
|
void |
applyPattern(String pattern)
Применяет данную строку образца к этому формату даты.
|
Объект |
clone()
Создает копию этого
SimpleDateFormat . |
boolean |
equals(Object obj)
Сравнивает данный объект с этим
SimpleDateFormat для равенства. |
StringBuffer |
format(Date date, StringBuffer toAppendTo, FieldPosition pos)
Форматирует данный
Date в строку даты/времени и добавляет результат к данному StringBuffer . |
AttributedCharacterIterator |
formatToCharacterIterator(Object obj)
Форматирует Объект, производящий
AttributedCharacterIterator . |
Дата |
get2DigitYearStart()
Возвращает начинающуюся дату 100-летнего периода, в пределах которого 2-разрядные годы интерпретируются как являющийся.
|
DateFormatSymbols |
getDateFormatSymbols()
Получает копию даты и символы формата времени этого формата даты.
|
int |
hashCode()
Возвращает значение хэш-кода для этого
SimpleDateFormat объект. |
Дата |
parse(String text, ParsePosition pos)
Текст синтаксических анализов от строки, чтобы произвести a
Date . |
void |
set2DigitYearStart(Date startDate)
Устанавливает 100-летний период, в котором 2-разрядные годы будут интерпретироваться как являющийся начаться в день, пользователь определяет.
|
void |
setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
Назначает дату и символы формата времени этого формата даты.
|
Строка |
toLocalizedPattern()
Возвращает локализованную строку образца, описывающую этот формат даты.
|
Строка |
toPattern()
Возвращает строку образца, описывающую этот формат даты.
|
format, format, getAvailableLocales, getCalendar, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getNumberFormat, getTimeInstance, getTimeInstance, getTimeInstance, getTimeZone, isLenient, parse, parseObject, setCalendar, setLenient, setNumberFormat, setTimeZone
format, parseObject
public SimpleDateFormat()
SimpleDateFormat
использование образца по умолчанию и даты форматирует символы для локали по умолчанию. Отметьте: Этот конструктор, возможно, не поддерживает все локали. Для полного охвата используйте методы фабрики в DateFormat
класс.public SimpleDateFormat(String pattern)
SimpleDateFormat
использование данного образца и даты по умолчанию форматирует символы для локали по умолчанию. Отметьте: Этот конструктор, возможно, не поддерживает все локали. Для полного охвата используйте методы фабрики в DateFormat
класс.pattern
- образец, описывающий дату и формат времениNullPointerException
- если данный образец является нулемIllegalArgumentException
- если данный образец недопустимpublic SimpleDateFormat(String pattern, Locale locale)
SimpleDateFormat
использование данного образца и даты по умолчанию форматирует символы для данной локали. Отметьте: Этот конструктор, возможно, не поддерживает все локали. Для полного охвата используйте методы фабрики в DateFormat
класс.pattern
- образец, описывающий дату и формат времениlocale
- локаль, символы формата даты которой должны использоватьсяNullPointerException
- если данный образец или локаль являются нулемIllegalArgumentException
- если данный образец недопустимpublic SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
SimpleDateFormat
использование данного образца и даты форматирует символы.pattern
- образец, описывающий дату и формат времениformatSymbols
- символы формата даты, которые будут использоваться для того, чтобы отформатироватьNullPointerException
- если данный образец или formatSymbols являются нулемIllegalArgumentException
- если данный образец недопустимpublic void set2DigitYearStart(Date startDate)
startDate
- Во время парсинга два года цифры будут помещены в диапазон startDate
к startDate + 100 years
.get2DigitYearStart()
public Date get2DigitYearStart()
set2DigitYearStart(java.util.Date)
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)
Date
в строку даты/времени и добавляет результат к данному StringBuffer
.format
в классе DateFormat
date
- разовое датой значение, которое будет отформатировано в разовую датой строку.toAppendTo
- где новый разовый датой текст должен быть добавлен.pos
- позиция форматирования. На вводе: поле выравнивания, при желании. На выводе: смещения поля выравнивания.NullPointerException
- если данный date
null
.public AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator
. Можно использовать возвращенный AttributedCharacterIterator
создать получающуюся Строку, так же как определить информацию о получающейся Строке. Каждый ключ атрибута AttributedCharacterIterator будет иметь тип DateFormat.Field
, с соответствующим значением атрибута, являющимся тем же самым как ключ атрибута.
formatToCharacterIterator
в классе Format
obj
- Объект отформатироватьNullPointerException
- если obj является нулем.IllegalArgumentException
- если Формат не может отформатировать данный объект, или если строка образца Формата недопустима.public Date parse(String text, ParsePosition pos)
Date
. Метод пытается проанализировать текст, запускающийся по индексу, данному pos
. Если парсинг успешно выполняется, то индекс pos
обновляется к индексу после используемого последнего знака (парсинг не обязательно израсходовал все символы до конца строки), и проанализированная дата возвращается. Обновленный pos
может использоваться, чтобы указать на начальную точку для следующего звонка в этот метод. Если ошибка происходит, то индекс pos
не изменяется, ошибочный индекс pos
устанавливается в индекс символа, где ошибка произошла, и нуль возвращается.
Эта работа парсинга использует calendar
произвести a Date
. Весь из calendar
's разовые датой поля очищаются перед парсингом, и calendar
's значения по умолчанию разовых датой полей используются для любой недостающей разовой датой информации. Например, значение года проанализированного Date
1970 с GregorianCalendar
если никакое значение года не дается от работы парсинга. TimeZone
значение может быть перезаписано, в зависимости от поданного образца и значения часового пояса text
. Любой TimeZone
значение, которое было ранее установлено звонком setTimeZone
возможно, должен быть восстановлен для дальнейших операций.
parse
в классе DateFormat
text
- A String
, часть которого должна быть проанализирована.pos
- A ParsePosition
объект с индексом и ошибкой индексирует информацию как описано выше.Date
проанализированный от строки. В случае ошибки, нуля возвратов.NullPointerException
- если text
или pos
нуль.public String toPattern()
public String toLocalizedPattern()
public void applyPattern(String pattern)
pattern
- новая дата и образец времени для этого формата датыNullPointerException
- если данный образец является нулемIllegalArgumentException
- если данный образец недопустимpublic void applyLocalizedPattern(String pattern)
pattern
- Строка, которая будет отображена на новую дату и время, форматирует образец для этого форматаNullPointerException
- если данный образец является нулемIllegalArgumentException
- если данный образец недопустимpublic DateFormatSymbols getDateFormatSymbols()
setDateFormatSymbols(java.text.DateFormatSymbols)
public void setDateFormatSymbols(DateFormatSymbols newFormatSymbols)
newFormatSymbols
- новая дата и время форматирует символыNullPointerException
- если данный newFormatSymbols является нулемgetDateFormatSymbols()
public Object clone()
SimpleDateFormat
. Это также клонирует символы формата даты формата.clone
в классе DateFormat
SimpleDateFormat
Cloneable
public int hashCode()
SimpleDateFormat
объект.hashCode
в классе DateFormat
SimpleDateFormat
объект.Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
SimpleDateFormat
для равенства.equals
в классе DateFormat
obj
- ссылочный объект, с которым можно сравниться.SimpleDateFormat
Object.hashCode()
, HashMap
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.