SimpleDateFormat Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
SimpleDateFormat
é uma classe concreta para formatar e analisar datas de maneira sensível à localidade.
[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
- Herança
- Atributos
Comentários
SimpleDateFormat
é uma classe concreta para formatar e analisar datas de maneira sensível à localidade. Permite formatação (data & rarr; texto), análise (texto & rarr; data) e normalização.
SimpleDateFormat
permite que você comece escolhendo quaisquer padrões definidos pelo usuário para formatação de data-hora. No entanto, você é encorajado a criar um formatador de data e hora com getTimeInstance
, getDateInstance
ou getDateTimeInstance
em DateFormat
. Cada um desses métodos de classe pode retornar um formatador de data/hora inicializado com um padrão de formato padrão. Você pode modificar o padrão de formato usando os applyPattern
métodos conforme desejado. Para obter mais informações sobre como usar esses métodos, consulte DateFormat
.
<h2>Padrões< de data e hora/h2>
Os formatos de data e hora são especificados por <cadeias de caracteres em>, padrão< de data e hora/em> . Dentro de cadeias de caracteres de padrão de data e hora, letras não citadas de 'A'
e para 'Z'
'a'
são 'z'
interpretadas como letras padrão que representam os componentes de uma cadeia de caracteres de data ou hora. O texto pode ser citado usando aspas simples ('
) para evitar interpretação. "''"
representa uma única citação. Todos os outros personagens não são interpretados; eles são simplesmente copiados para a cadeia de caracteres de saída durante a formatação ou combinados com a cadeia de caracteres de entrada durante a análise.
As seguintes letras de padrão são definidas (todos os outros caracteres de e para 'Z'
para são reservados): <blockquote<>table class="striped"<>caption style="display:none">Chart mostra letras de padrão, componente de 'a'
'A'
data/hora, apresentação e exemplos.<'z'
/caption>thead><tr<>th scope="col" style="text-align:left">Letter <th scope="col" style="text-align:left">Data ou Hora Component <th scope="col" style="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>< designador <td>Texto<td><AD
td>1+</td><tr><th scope="row"><y
td>Ano <td>Ano<td;<96
>1996
td>1+</td><tr><th scope="row"><Y
td>Semana ano <td>Ano<td;<09
>2009
td>24+</td><tr><th scope="row"M
><td>Mês no ano (sensível ao contexto) <td>Mês<td; Jul
<07
>July
td>1+</td><tr><th scope="row">L
<td>Mês no ano (forma autônoma) <td>Mês<td; Jul
<07
>July
td>TBD</td><tr><th scope="row"<w
>td>Semana no ano <td>Número<td<27
>td>1+</td><tr><th scope="row"<W
>td>Semana no mês <td>Número<td2
><td>1+</td<>tr><th scope="row"><D
td>Dia no ano <td>Número<td>189
<td>1+</td><tr<>th scope="row">d
<td>Dia no mês <td Número<td<10
>>td>1+</td><tr<>th scope="row">F
<td>Dia da semana no mês <td>Número<td2
<>td>1+</td<>tr<>th scope="row">E
<td>Nome do dia na semana <td Texto><>Tuesday
TD; Tue
<td>1+</td><tr><th scope="row">u
<td>Número do dia da semana (1 = segunda-feira, ..., 7 = domingo) <td>Número<td><1
td>24+</td><tr><th scope="row"<>a
td>Am/pm marker <td>Text<tdPM
><td>1+</td><tr<>th scope="row"H
><td>Hora no dia (0-23) <td>Número<td>0
<td>1+</td><tr<>th scope="row"k
<>td>Hora no dia (1-24) <td>Número<td><24
td>1+</td<>tr><th scope="row"<K
>td>Hora em am/pm (0-11) <td>Número<td>0
<td>1+</td<>tr><th scope="row">h
<td>Hora em am/pm (1-12) <td>Número<td><12
td>1+</td><tr><th scope="row"><m
td>Minuto em hora <td>Número<td><30
>1+</td><tr><th scope="row"><s
td>Segundo em minuto <td>Número<td>55
<td>1+</td><Tr><th scope="row">S
<td>Milésimo de segundo <td>Número<td td978
>><1+</td><tr><th scope="row"<z
>td>Fuso <horário td>Fuso<horário geral td; PST
<GMT-08:00
>Pacific Standard Time
td>1+</td><tr><th scope="row"<Z
>td>Fuso horário <td>RFC 822 fuso horário<td><-0800
td>1+</td><tr<>th scope="row"X
><td>Fuso horário <td>ISO 8601 fuso<horário td; -0800
<-08:00
>-08
td>24+</td></tbody></table></blockquote> As letras padrão são geralmente repetidas, pois seu número determina a apresentação exata: <ul><li><strong>"text">Text:</strong> Para formatação, se o número de letras padrão for 4 ou mais, a forma completa é usada; caso contrário, uma forma curta ou abreviada é usada, se disponível. Para análise, ambas as formas são aceitas, independentemente do número de letras padrão.</li><li><strong>"number">Number:</strong> Para formatação, o número de letras padrão é o número mínimo de dígitos, e números mais curtos são zero-preenchidos para esse valor. Para análise, o número de letras padrão é ignorado, a menos que seja necessário separar dois campos adjacentes.</li><li><strong>"year">Year:</strong> Se o formatador for #getCalendar() Calendar
o calendário gregoriano, as seguintes regras serão aplicadas. <><ul li>Para formatação, se o número de letras padrão for 2, o ano é truncado para 2 dígitos, caso contrário, é interpretado como um número. <li>Para análise, se o número de letras padrão for superior a 2, o ano é interpretado literalmente, independentemente do número de dígitos. Assim, usando o padrão "MM/dd/aaaa", "01/11/12" analisa para 11 de janeiro de 12 d.C. <li>Para analisar com o padrão de ano abreviado ("y" ou "yy"), SimpleDateFormat
deve interpretar o ano abreviado em relação a algum século. Ele faz isso ajustando as datas para que sejam dentro de 80 anos antes e 20 anos após o momento em que a SimpleDateFormat
instância é criada. Por exemplo, usando um padrão de "MM/dd/aa" e uma SimpleDateFormat
instância criada em 1º de janeiro de 1997, a cadeia de caracteres "01/11/12" seria interpretada como 11 de janeiro de 2012, enquanto a cadeia de caracteres "05/04/64" seria interpretada como 4 de maio de 1964. Durante a análise, somente cadeias de caracteres que consistem exatamente em dois dígitos, conforme definido por Character#isDigit(char)
, serão analisadas no século padrão. Qualquer outra cadeia de caracteres numérica, como uma cadeia de caracteres de um dígito, uma cadeia de caracteres de três ou mais dígitos ou uma cadeia de caracteres de dois dígitos que não seja todos os dígitos (por exemplo, "-1"), é interpretada literalmente. Assim, "01/02/3" ou "01/02/003" são analisados, usando o mesmo padrão, como 2 de janeiro, 3 AD. Da mesma forma, "01/02/-3" é analisado como 2 de janeiro de 4 a.C. </ul> Caso contrário, formulários específicos do sistema de calendário serão aplicados. Para formatação e análise, se o número de letras padrão for 4 ou mais, um formulário longo Calendário#LONGO específico do calendário será usado. Caso contrário, um calendário específico Calendar#SHORT curto ou abreviado formulário é usado. <br> Se o ano 'Y'
da semana for especificado e o calendário #getCalendar() não suportar nenhum ano da semana, o ano civil ('y'
) será usado. O suporte de anos de semana pode ser testado com uma chamada para DateFormat#getCalendar() getCalendar()
.java.util.Calendar#isWeekDateSupported() isWeekDateSupported()
.</li><li><strong>"month">Month:</strong> Se o número de letras padrão for 3 ou mais, o mês é interpretado como texto, caso contrário, é interpretado como um número. <><ul li>Letter <em>M</em> produz nomes de mês sensíveis ao contexto, como a forma incorporada de nomes. A letra <em>M</em> é sensível ao contexto no sentido de que quando é usada no padrão autônomo, por exemplo, "MMMM", ela dá a forma autônoma de um nome de mês e quando é usada no padrão contendo outro(s) campo(s), por exemplo, "d MMMM", ela dá a forma de formato de um nome de mês. Por exemplo, janeiro no idioma catalão é "de gener" no formato enquanto é "gener" no formato autônomo. Neste caso, "MMMM" produzirá "gener" e a parte do mês do "d MMMM" produzirá "de gener". Se a DateFormatSymbols
tiver sido definido explicitamente com construtor #SimpleDateFormat(String,DateFormatSymbols)
ou método#setDateFormatSymbols(DateFormatSymbols)
, os nomes de mês fornecidos pelo DateFormatSymbols
são usados.</li><li>Letter <em>L</em> produz a forma autônoma de nomes de meses.</li></ul><br></li><li><strong>"timezone"Fuso horário geral:<>/strong> Os fusos horários são interpretados como texto se tiverem nomes. Para fusos horários que representam um valor de deslocamento GMT, a seguinte sintaxe é usada:
<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}
As horas devem ser entre 0 e 23, e os minutos devem ser entre 00 e 59. O formato é independente de localidade e os dígitos devem ser retirados do bloco Latino Básico do padrão Unicode.
Para análise, os fusos horários RFC 822 também são aceitos.</li><li><strong>"rfc822timezone">RFC 822 time zone:</strong> Para formatação, o formato de fuso horário RFC 822 de 4 dígitos é usado:
<i>RFC822TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
<i>TwoDigitHours:</i>
<i>Digit Digit</i>
TwoDigitHours deve estar entre 00 e 23. Outras definições são como para fusos horários gerais.
Para análise, fusos horários gerais também são aceitos. <li><strong>"iso8601fuso horário">ISO 8601 Fuso horário:</strong> O número de letras padrão designa o formato para formatação e análise da seguinte maneira:
<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}
Outras definições são como para fusos horários gerais ou fusos horários RFC 822.
Para formatação, se o valor de deslocamento do GMT for 0, "Z"
será produzido. Se o número de letras padrão for 1, qualquer fração de hora será ignorada. Por exemplo, se o padrão é "X"
e o fuso horário é "GMT+05:30"
, "+05"
é produzido.
Para análise, a letra "Z"
é analisada como o designador de fuso horário UTC (portanto "09:30Z"
, é analisada como "09:30 UTC"
. Fusos horários gerais não<> são <>aceitos.
Se o número de letras padrão "X"
for 4 ou mais (por exemplo XXXX
, ), IllegalArgumentException
é lançado ao construir um SimpleDateFormat
ou #applyPattern(String) aplicando um padrão. </ul>SimpleDateFormat
também suporta <em>local de data e hora pattern</em> strings. Nessas cadeias de caracteres, as letras padrão descritas acima podem ser substituídas por outras letras de padrão dependentes da localidade. SimpleDateFormat
não trata da localização de texto que não seja as letras padrão; isso cabe ao cliente da turma.
<h3>Exemplos</h3>
Os exemplos a seguir mostram como os padrões de data e hora são interpretados na localidade dos EUA. A data e hora fornecidas são 2001-07-04 12:08:56 hora local no fuso horário do Pacífico dos EUA. <blockquote><table class="striped"><caption style="display:none">Exemplos de padrões de data e hora interpretados nos EUA 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><2001.07.04 AD at 12:08:56 PDT
tr><th scope="row">"yyyy.MM.dd G 'at' HH:mm:ss z"
<>"EEE, MMM d, ''yy"
<Td>Wed, Jul 4, '01
<><tr th scope="row""h:mm a"
><td>12:08 PM
<tr<>th scope="row"><"hh 'o''clock' a, zzzz"
td>12 o'clock PM, Pacific Daylight Time
<tr<>th scope="row"<"K:mm a, z"
>td>0:08 PM, PDT
<tr<>th scope="row""yyyyy.MMMMM.dd GGG hh:mm aaa"
><td<>02001.July.04 AD 12:08 PM
tr><th scope="row""EEE, d MMM yyyy HH:mm:ss Z"
<>td>Wed, 4 Jul 2001 12:08:56 -0700
<tr<>th scope="row">"yyMMddHHmmssZ"
<td010704120856-0700
><tr<>th scope="row""yyyy-MM-dd'T'HH:mm:ss.SSSZ"
<>td>2001-07-04T12:08:56.235-0700
<Tr><th scope="linha">"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
<td>2001-07-04T12:08:56.235-07:00
<tr><th scope="row""YYYY-'W'ww-u"
><td><2001-W27-3
/tbody<>/table/blockquote><>
<h3>"sincronização">Sincronização</h3>
Os formatos de data não são sincronizados. É recomendável criar instâncias de formato separadas para cada thread. Se vários threads acessarem um formato simultaneamente, ele deverá ser sincronizado externamente.
Adicionado em 1.1.
Documentação Java para java.text.SimpleDateFormat
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.
Construtores
SimpleDateFormat() |
Constrói um |
SimpleDateFormat(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução. |
SimpleDateFormat(String) |
Constrói um |
SimpleDateFormat(String, DateFormatSymbols) |
Constrói um |
SimpleDateFormat(String, Locale) |
Constrói um |
Campos
AmPmField |
Constante útil para alinhamento de campo AM_PM. (Herdado de DateFormat) |
DateField |
Constante útil para alinhamento do campo DATE. (Herdado de DateFormat) |
DayOfWeekField |
Constante útil para alinhamento de campo DAY_OF_WEEK. (Herdado de DateFormat) |
DayOfWeekInMonthField |
Constante útil para alinhamento de campo DAY_OF_WEEK_IN_MONTH. (Herdado de DateFormat) |
DayOfYearField |
Constante útil para alinhamento de campo DAY_OF_YEAR. (Herdado de DateFormat) |
Default |
Constante para padrão de estilo. (Herdado de DateFormat) |
EraField |
Constante útil para alinhamento de campo ERA. (Herdado de DateFormat) |
Full |
Constante para padrão de estilo completo. (Herdado de DateFormat) |
Hour0Field |
Constante útil para alinhamento de campo HOUR baseado em zero. (Herdado de DateFormat) |
Hour1Field |
Constante útil para alinhamento de campo HOUR baseado em um. (Herdado de DateFormat) |
HourOfDay0Field |
Constante útil para alinhamento de campo de HOUR_OF_DAY baseado em zero. (Herdado de DateFormat) |
HourOfDay1Field |
Constante útil para alinhamento de campo de HOUR_OF_DAY baseado em um. (Herdado de DateFormat) |
Long |
Constante para padrão de estilo longo. (Herdado de DateFormat) |
Medium |
Constante para padrão de estilo médio. (Herdado de DateFormat) |
MillisecondField |
Constante útil para alinhamento de campo de milissegundos. (Herdado de DateFormat) |
MinuteField |
Constante útil para alinhamento de campo MINUTE. (Herdado de DateFormat) |
MonthField |
Constante útil para alinhamento do campo MÊS. (Herdado de DateFormat) |
SecondField |
Constante útil para alinhamento de campo SECOND. (Herdado de DateFormat) |
Short |
Constante para padrão de estilo curto. (Herdado de DateFormat) |
TimezoneField |
Constante útil para alinhamento do campo TIMEZONE. (Herdado de DateFormat) |
WeekOfMonthField |
Constante útil para alinhamento de campo WEEK_OF_MONTH. (Herdado de DateFormat) |
WeekOfYearField |
Constante útil para alinhamento de campo WEEK_OF_YEAR. (Herdado de DateFormat) |
YearField |
Constante útil para alinhamento de campo YEAR. (Herdado de DateFormat) |
Propriedades
Calendar |
Obtém o calendário associado a este formatador de data/hora. -ou- Defina o calendário a ser usado por este formato de data. (Herdado de DateFormat) |
Class |
Retorna a classe de tempo de execução deste |
DateFormatSymbols |
Obtém uma cópia dos símbolos de formato de data e hora desse formato de data. -ou- Define os símbolos de formato de data e hora desse formato de data. |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
Lenient |
Diga se a análise de data/hora deve ser branda. -ou- Especifique se a análise de data/hora deve ou não ser branda. (Herdado de DateFormat) |
NumberFormat |
Obtém o formatador de número que esse formatador de data/hora usa para formatar e analisar uma hora. -ou- Permite que você defina o formatador de números. (Herdado de DateFormat) |
PeerReference |
|
ThresholdClass |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
ThresholdType |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
TimeZone |
Obtém o fuso horário. -ou- Define o fuso horário para o calendário deste |
Métodos
ApplyLocalizedPattern(String) |
Aplica a cadeia de caracteres de padrão localizada fornecida a esse formato de data. |
ApplyPattern(String) |
Aplica a cadeia de caracteres de padrão fornecida a esse formato de data. |
Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indica se algum outro objeto é "igual" a este. (Herdado de Object) |
Format(Date) |
Formata a |
Format(Date, StringBuffer, FieldPosition) |
Formata o dado |
Format(Object) |
Formata um objeto para produzir uma cadeia de caracteres. (Herdado de _Format) |
Format(Object, StringBuffer, FieldPosition) |
Formata o fornecido |
FormatToCharacterIterator(Object) |
Formata um objeto produzindo um |
Get2DigitYearStart() |
Retorna a data de início do período de 100 anos Os anos de 2 dígitos são interpretados como estando dentro. |
GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
Parse(String) |
Analisa o texto do início da cadeia de caracteres fornecida para produzir uma data. (Herdado de DateFormat) |
Parse(String, ParsePosition) |
Analisa texto de uma cadeia de caracteres para produzir um |
ParseObject(String) |
Analisa o texto do início da cadeia de caracteres fornecida para produzir um objeto. (Herdado de _Format) |
ParseObject(String, ParsePosition) |
Analisa texto de uma cadeia de caracteres para produzir um |
Set2DigitYearStart(Date) |
Define o período de 100 anos Os anos de 2 dígitos serão interpretados como estando em para começar na data especificada pelo usuário. |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
ToArray<T>() |
|
ToLocalizedPattern() |
Retorna uma cadeia de caracteres de padrão localizada que descreve esse formato de data. |
ToPattern() |
Retorna uma cadeia de caracteres padrão que descreve esse formato de data. |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
|
Wait() |
Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>. (Herdado de Object) |
Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Métodos de Extensão
JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada em tempo de execução do Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|