SimpleDateFormat Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
SimpleDateFormat
— это конкретный класс для форматирования и анализа дат с учетом языкового стандарта.
[Android.Runtime.Register("java/text/SimpleDateFormat", DoNotGenerateAcw=true)]
public class SimpleDateFormat : Java.Text.DateFormat
[<Android.Runtime.Register("java/text/SimpleDateFormat", DoNotGenerateAcw=true)>]
type SimpleDateFormat = class
inherit DateFormat
- Наследование
- Атрибуты
Комментарии
SimpleDateFormat
— это конкретный класс для форматирования и анализа дат с учетом языкового стандарта. Он позволяет отформатировать (текст даты→), синтаксический анализ (дата → текста) и нормализацию.
SimpleDateFormat
позволяет начать с выбора любых определяемых пользователем шаблонов для форматирования даты и времени. Однако рекомендуется создать форматировщик даты и времени с getTimeInstance
помощью , getDateInstance
либо getDateTimeInstance
в DateFormat
. Каждый из этих методов класса может возвращать метод форматирования даты и времени, инициализируемый с помощью шаблона формата по умолчанию. Вы можете изменить шаблон формата с помощью applyPattern
методов по мере необходимости. Дополнительные сведения об использовании этих методов см. в разделе DateFormat
.
<h2>Шаблоны< даты и времени/h2>
Форматы даты и времени задаются строками <>даты и времени< em>. В строках шаблонов даты и времени неквалированные буквы из 'A'
'Z'
и из 'a'
них 'z'
интерпретируются как буквы шаблона, представляющие компоненты строки даты или времени. Текст можно кавычек использовать одинарные кавычки ('
), чтобы избежать интерпретации. "''"
представляет одну кавычку. Все остальные символы не интерпретируются; Они просто копируются в выходную строку во время форматирования или сопоставляются с входной строкой во время синтаксического анализа.
Определены следующие буквы шаблонов (все остальные символы из и из 'A'
'Z'
'z'
'a'
них зарезервированы): <класс таблицы blockquote<>="striped"<>caption style="display:none">Chart отображает шаблоны букв, компонент даты и времени, презентацию и примеры.</caption><thead><tr<>th scope="col" style="text-align:left">Letter <th scope="col" style="text-align:left"Date or Time Component <th scope=">col" style="text-align:left"text-align:left"> Presentation <th scope="col" style="text-align:left">Examples <th scope="col" style="text-align:left">Supported (API Levels) </thead><tbody><tr<>th scope="row"G
><td Era><конструктор td>Text<td td tdAD
><>1+</td><tr th><scope="row"<>y
td>Year td><Year <td td; 96
>1996
<td>1+</td tr th><scope="row"<>Y
td<>Week year td td>>Year <<td;<09
>2009
td 24+/td tr th<>scope="row"<>M
td><Month in year (context sensitive)>< td>Month<tdJuly
>; ;<07
Jul
<>td>1+</td tr<>th scope="row"<>L
td<>Month in year (автономная форма)>< td>Month<tdJuly
>; ; Jul
07
<td>TBD</td><tr th><scope="row"><w
td>Week in year>< td Number<27
><>td 1+</><td tr<>th scope="row">><W
td Week in month <>td Number td 1+</td><tr<>th scope="row"D
<>>td Day in year>< td Number><<2
<>td>189
<td 1+/td tr th<>scope="row"<>d
td><>Day in month <><>10
<>td number td 1+</><td tr<>th scope="row"><F
>td Day of week in month>< td Number><>2
<td 1+</td<>tr><th scope="row"E
<>td>Day name in week <>td Text Text<><td>Tuesday
; Tue
<td>1+</td tr th scope="row"<u
>td>Day number of week (1 = понедельник, ..., 7 = воскресенье)>< td<>Number<td><>1
24+</td><tr<>th scope="row"<a
>>td Am/pm token>< td textPM
<<>>td 1+</td><tr<><>th scope="row"td"H
><td>Час в день (0-23) td Number<td>td td>>0
<1+</td<>tr<>th scope="row"k
><td>Hour in day (1-24) td Number<><24
>td 1+/><td tr<>th scope="row"><K
td>Hour in am/pm (0-11)>0
<<>><>< td number td 1+<</td><tr<>th scope= <"row"><h
td Hour in am/pm (1-12) <td Number<td><12
>>>1+</<>td tr><th scope="row"m
>><td Minute in hour>< td Number td 1+/td tr th<>scope="row"<>s
>td<>Second in minuted <<><>>55
Number<>><30
td 1+<</td><tr><th scope="row">S
<td>Millisecond <td>Number<978
><>td 1+</td<>tr<>th scope="row"z
><td>Time zone <td>General time zone<tdPacific Standard Time
>; ; PST
GMT-08:00
<td>1+</td tr th scope="row"Z
<>td<>Часовой пояс td <>>RFC 822<-0800
><часовой пояс td>1+</td<>tr>><<th scope="row"><X
td Часовой <пояс td>ISO 8601<часовой пояс td; -08:00
-0800
<>>-08
td>24+</td<>/tbody></table<>/blockquote> Pattern letters обычно повторяются, так как их число определяет точную презентацию: <ul<>li><strong>"text<:>/strong> For formatting, если число шаблонов букв равно 4 или более, используется полная форма; в противном случае используется короткая или сокращенная форма, если она доступна. Для синтаксического анализа оба вида принимаются независимо от количества букв шаблона.</li><strong><>"number">Number:</strong> For formatting, число букв шаблонов — минимальное количество цифр, а более короткие числа — нулевые. Для синтаксического анализа количество букв шаблонов игнорируется, если только не требуется разделять два смежных поля.</li li><><strong>"year:>/strong>,< если форматировщик #getCalendar() Calendar
является григорианским календарем, применяются следующие правила. <ul><li>Для форматирования, если число букв шаблона равно 2, год усечен до 2 цифр; в противном случае он интерпретируется как число. <li>Для синтаксического анализа, если число букв шаблона превышает 2, год интерпретируется буквально независимо от количества цифр. Поэтому использование шаблона "MM/dd/гггг", "01/11/12" синтаксический анализ до 11 января 12 A.D. <Li>Для синтаксического анализа с сокращенным шаблоном года ("y" или "y"), 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/02/003" или "01.02.003" используется тот же шаблон, что и 2 января 3 AD. Аналогичным образом, "01/02/-3" анализируется как 2 января 4 bc. </ul> в противном случае применяются определенные формы системы календаря. Для форматирования и синтаксического анализа используется определенная форма календаря #LONG long, если число букв шаблона равно 4 или более. В противном случае используется конкретная форма календаря#SHORT или сокращенная форма. <Br> Если указан год 'Y'
недели, а календарь #getCalendar() не поддерживает никаких недель, вместо этого используется календарный год ('y'
). Поддержка недельных лет может быть проверена с помощью вызова DateFormat#getCalendar() getCalendar()
.java.util.Calendar#isWeekDateSupported() isWeekDateSupported()
.</li><li><strong>"month"Month:<>/strong>, если число букв шаблона равно 3 или более, месяц интерпретируется как текст; в противном случае он интерпретируется как число. <ul><li>Letter <em>M</em> создает имена месяцев с учетом контекста, такие как внедренная форма имен. Буква <em>M</em> учитывает контекст в том смысле, что, если он используется в автономном шаблоне, например "MMMM", он предоставляет автономную форму имени месяца и когда он используется в шаблоне, содержающем другие поля, например "d MMMM", он дает формат имени месяца. Например, январь на каталонском языке является "de gener" в формате, пока он является "gener" в автономной форме. В этом случае "MMMM" будет производить "gener" и месяц части "d MMMM" будет производить "de gener". Если задано DateFormatSymbols
явно с конструктором #SimpleDateFormat(String,DateFormatSymbols)
или методом#setDateFormatSymbols(DateFormatSymbols)
, используются имена месяцев, заданные методомDateFormatSymbols
.</li>><letter <em></em> создает автономную форму имен месяцев.</li></ul><br></li li>><<strong>"timezone">General time zone:/strong Time zone:</strong> Time zone интерпретируются как текст, если они имеют имена. Для часовых поясов, представляющих значение смещения GMT, используется следующий синтаксис:
<a id="GMTOffsetTimeZone"><i>GMTOffsetTimeZone:</i></a>
{@code GMT} <i>Sign</i> <i>Hours</i> {@code :} <i>Minutes</i>
<i>Sign:</i> one of
{@code + -}
<i>Hours:</i>
<i>Digit</i>
<i>Digit</i> <i>Digit</i>
<i>Minutes:</i>
<i>Digit</i> <i>Digit</i>
<i>Digit:</i> one of
{@code 0 1 2 3 4 5 6 7 8 9}
Часы должны быть от 0 до 23, а в минутах должно быть от 00 до 59. Формат является независимым языковым стандартом, и цифры должны быть взяты из блока Basic Latin стандарта Юникода.
Для синтаксического анализа также принимаются часовые пояса RFC 822.</li><li><strong>"rfc822timezone">RFC 822 часовой пояс:</strong> Для форматирования используется формат часового пояса RFC 822 4 цифры:
<i>RFC822TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
<i>TwoDigitHours:</i>
<i>Digit Digit</i>
ДваDigitHours должны быть от 00 до 23. Другие определения относятся к общим часовых поясам.
Для синтаксического анализа также принимаются общие часовые пояса. <li><strong>"iso8601timezone">ISO 8601 Часовой пояс:</strong> Число букв шаблонов обозначает формат для форматирования и анализа следующим образом:
<i>ISO8601TimeZone:</i>
<i>OneLetterISO8601TimeZone</i>
<i>TwoLetterISO8601TimeZone</i>
<i>ThreeLetterISO8601TimeZone</i>
<i>OneLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i>
{@code Z}
<i>TwoLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
{@code Z}
<i>ThreeLetterISO8601TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> {@code :} <i>Minutes</i>
{@code Z}
Другие определения предназначены для общих часовых поясов или часовых поясов RFC 822.
Если значение смещения от GMT равно 0, "Z"
создается для форматирования. Если число букв шаблона равно 1, любая доля часа игнорируется. Например, если шаблон и "X"
часовой пояс является "GMT+05:30"
, "+05"
создается.
Для синтаксического анализа буква "Z"
анализируется как конструктор часового пояса UTC (поэтому "09:30Z"
анализируется как "09:30 UTC"
. Общие часовые пояса <>не< принимаются.>
Если количество "X"
букв шаблона равно 4 или более (например XXXX
, при IllegalArgumentException
создании SimpleDateFormat
или #applyPattern(String) применяется шаблон. </ul> также поддерживает>< локализованные строки даты и времени</em>.SimpleDateFormat
В этих строках буквы шаблонов, описанные выше, могут быть заменены другими, зависимыми от языкового стандарта, буквами шаблона. SimpleDateFormat
не имеет дело с локализацией текста, отличного от букв шаблонов; это до клиента класса.
<h3>Examples</h3>
В следующих примерах показано, как интерпретируются шаблоны даты и времени в языковом стандарте США. Указанная дата и время: 2001-07-04 12:08:56 в часовом поясе США. <blockquote><table class="striped"><caption style="display:none">Examples of date and time patterns in the U.S. locale</caption><thead<>tr th scope="col" style="text-align:left">Date and Time Pattern <th scope="col" style="text-align:left">Result </thead<>tbody<>tr>><<th scope="row"td tr th scope="row"><"yyyy.MM.dd G 'at' HH:mm:ss z"
td>2001.07.04 AD at 12:08:56 PDT
<th<>scope="row">"EEE, MMM d, ''yy"
<td>Wed, Jul 4, '01
<tr th scope="row""h:mm a"
><td tr th scope="row"<"hh 'o''clock' a, zzzz"
>td>><>12:08 PM
<<12 o'clock PM, Pacific Daylight Time
tr><th scope="row"><>"K:mm a, z"
0:08 PM, PDT
<td><tr th scope="row"<"yyyyy.MMMMM.dd GGG hh:mm aaa"
>td02001.July.04 AD 12:08 PM
<>tr><th scope="row"<>"EEE, d MMM yyyy HH:mm:ss Z"
td tr th scope="row">"yyMMddHHmmssZ"
<td<<Wed, 4 Jul 2001 12:08:56 -0700
><>>010704120856-0700
tr><th scope="row">"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
<td2001-07-04T12:08:56.235-0700
>><<tr><th scope="row"td tr<th scope="row"YYYY-'W'ww-u"
<>"><"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
td<<>2001-W27-3
>2001-07-04T12:08:56.235-07:00
/tbody></table<>/blockquote>>
<h3>"синхронизация">Синхронизация</h3>
Форматы дат не синхронизируются. Рекомендуется создать отдельные экземпляры формата для каждого потока. Если несколько потоков одновременно обращаются к формату, он должен быть синхронизирован вневне.
Добавлено в версии 1.1.
Документация по Java для java.text.SimpleDateFormat
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
SimpleDateFormat() |
|
SimpleDateFormat(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
SimpleDateFormat(String) |
|
SimpleDateFormat(String, DateFormatSymbols) |
|
SimpleDateFormat(String, Locale) |
Создает заданный |
Поля
AmPmField |
Полезная константа для выравнивания полей AM_PM. (Унаследовано от DateFormat) |
DateField |
Полезная константа для выравнивания полей DATE. (Унаследовано от DateFormat) |
DayOfWeekField |
Полезная константа для выравнивания полей DAY_OF_WEEK. (Унаследовано от DateFormat) |
DayOfWeekInMonthField |
Полезная константа для выравнивания полей DAY_OF_WEEK_IN_MONTH. (Унаследовано от DateFormat) |
DayOfYearField |
Полезная константа для выравнивания полей DAY_OF_YEAR. (Унаследовано от DateFormat) |
Default |
Константа для шаблона стиля по умолчанию. (Унаследовано от DateFormat) |
EraField |
Полезная константа для выравнивания полей ERA. (Унаследовано от DateFormat) |
Full |
Константная для полного шаблона стиля. (Унаследовано от DateFormat) |
Hour0Field |
Полезная константа для выравнивания полей с нуля. (Унаследовано от DateFormat) |
Hour1Field |
Полезная константа для выравнивания полей НА основе одного часа. (Унаследовано от DateFormat) |
HourOfDay0Field |
Полезная константа для выравнивания полей на основе нуля HOUR_OF_DAY. (Унаследовано от DateFormat) |
HourOfDay1Field |
Полезная константа для выравнивания полей на основе одного HOUR_OF_DAY. (Унаследовано от DateFormat) |
Long |
Константная для длинного шаблона стиля. (Унаследовано от DateFormat) |
Medium |
Константа для шаблона среднего стиля. (Унаследовано от DateFormat) |
MillisecondField |
Полезная константа для выравнивания полей MILLISECOND. (Унаследовано от DateFormat) |
MinuteField |
Полезная константа для выравнивания полей MINUTE. (Унаследовано от DateFormat) |
MonthField |
Полезная константа для выравнивания полей MONTH. (Унаследовано от DateFormat) |
SecondField |
Полезная константа для выравнивания полей SECOND. (Унаследовано от DateFormat) |
Short |
Константа для короткого шаблона стиля. (Унаследовано от DateFormat) |
TimezoneField |
Полезная константа для выравнивания полей TIMEZONE. (Унаследовано от DateFormat) |
WeekOfMonthField |
Полезная константа для выравнивания полей WEEK_OF_MONTH. (Унаследовано от DateFormat) |
WeekOfYearField |
Полезная константа для выравнивания полей WEEK_OF_YEAR. (Унаследовано от DateFormat) |
YearField |
Полезная константа для выравнивания полей YEAR. (Унаследовано от DateFormat) |
Свойства
Calendar |
Возвращает календарь, связанный с этим форматировщиком даты и времени. -или- Задайте календарь, используемый в этом формате даты. (Унаследовано от DateFormat) |
Class |
Возвращает класс среды выполнения этого |
DateFormatSymbols |
Возвращает копию символов формата даты и времени этого формата даты. -or- Задает символы формата даты и времени этого формата даты. |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
Lenient |
Укажите, является ли синтаксический анализ даты и времени мягким. -или- Укажите, является ли синтаксический анализ даты и времени мягким. (Унаследовано от DateFormat) |
NumberFormat |
Получает метод форматирования чисел, который используется этим методом форматирования даты и времени для форматирования и анализа времени. -или- Позволяет задать форматировщик чисел. (Унаследовано от DateFormat) |
PeerReference |
|
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
TimeZone |
Возвращает часовой пояс. -или- задает часовой пояс для календаря этого |
Методы
ApplyLocalizedPattern(String) |
Применяет заданную локализованную строку шаблона к этому формату даты. |
ApplyPattern(String) |
Применяет указанную строку шаблона к этому формату даты. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
Format(Date) |
|
Format(Date, StringBuffer, FieldPosition) |
Форматирует заданную |
Format(Object) |
Форматирует объект для создания строки. (Унаследовано от _Format) |
Format(Object, StringBuffer, FieldPosition) |
Форматирует заданную |
FormatToCharacterIterator(Object) |
Форматирует объект, создающий |
Get2DigitYearStart() |
Возвращает начальную дату 100-летнего периода 2-разрядного года, интерпретируются как внутри. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
Parse(String) |
Анализирует текст с начала заданной строки для создания даты. (Унаследовано от DateFormat) |
Parse(String, ParsePosition) |
Анализирует текст из строки для создания |
ParseObject(String) |
Анализирует текст с начала заданной строки для создания объекта. (Унаследовано от _Format) |
ParseObject(String, ParsePosition) |
Анализирует текст из строки для создания |
Set2DigitYearStart(Date) |
Задает 100-летний период 2-цифрных лет, который будет интерпретироваться как начало даты, в которой указывает пользователь. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
|
ToLocalizedPattern() |
Возвращает локализованную строку шаблона, описывающую этот формат даты. |
ToPattern() |
Возвращает строку шаблона, описывающую этот формат даты. |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
|
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|