SimpleDateFormat Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
SimpleDateFormat
è una classe concreta per la formattazione e l'analisi delle date in modo sensibile alle impostazioni locali.
[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
- Ereditarietà
- Attributi
Commenti
SimpleDateFormat
è una classe concreta per la formattazione e l'analisi delle date in modo sensibile alle impostazioni locali. Consente la formattazione (date → text), l'analisi (text → date) e la normalizzazione.
SimpleDateFormat
consente di iniziare scegliendo qualsiasi modello definito dall'utente per la formattazione di data e ora. È tuttavia consigliabile creare un formattatore di data e ora con getTimeInstance
, getDateInstance
o getDateTimeInstance
in DateFormat
. Ognuno di questi metodi di classe può restituire un formattatore di data/ora inizializzato con un modello di formato predefinito. È possibile modificare il modello di formato usando i applyPattern
metodi desiderati. Per altre informazioni sull'uso di questi metodi, vedere DateFormat
.
<h2>Modelli< di data e ora/h2>
I formati di data e ora vengono specificati dalle <>stringhe di data e ora</em>. All'interno di stringhe di criteri di data e ora, le lettere non racchiuse tra virgolette da 'A'
e 'Z'
verso 'a'
'z'
vengono interpretate come lettere di motivo che rappresentano i componenti di una stringa di data o ora. Il testo può essere racchiuso tra virgolette singole ('
) per evitare l'interpretazione. "''"
rappresenta una virgoletta singola. Tutti gli altri caratteri non vengono interpretati; vengono semplicemente copiati nella stringa di output durante la formattazione o confrontati con la stringa di input durante l'analisi.
Le lettere di motivo seguenti sono definite (tutti gli altri caratteri da e verso 'z'
sono riservati): <blockquote><table class="striped"><caption style="display:none">Chart mostra lettere di pattern, componente di data/ora, presentazione ed esempi.<'a'
'Z'
'A'
/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">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>< designator td>Text<td td><>AD
1+</td<>tr><th scope="row"<y
>td>Year td Year <td>Year<td; 96
<>1996
<td>1+</td><tr><th scope="row"<>Y
td Week year <td>Year td;<>>2009
09
<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 (standalone form) <td>Month<tdJuly
>; ; 07
<Jul
td>TBD</td><tr><th scope="row"><w
td>Week in year <td>Number<td td td><>27
1+</td><tr><th scope="row"W
<>td>Week in month <td Number<td td>>><2
1+</td<>tr><th scope="row"><D
td>Day in year <td>Number<td>189
<td>1+</td<>tr<>th scope="row"d
><td>Day in month <td td><td<10
>td>1+</td><tr<>th scope="row"><F
td>Day of week in month <td Number<td td>>2
<>1+</td<>tr<>th scope="row">E
<td>Day name in week <td Text><td>Tuesday
; Tue
<td>1+</td><tr<>th scope="row"><u
td>Day number of week (1 = Monday, ..., 7 = Sunday) <td>Number<td td>>1
<24+</td><tr><th scope="row"a
><td>Am/pm marker <td Text<td>td<>PM
>1+</td><tr<>th scope="row"H
><td>Ora nel giorno (0-23) td>Number td td>0
><1+</td><tr<>th scope="row"row">k
<td>Hour in day (1-24) <<td Number<td>td><>24
1+</td><tr><th scope="row"<K
>td>Hour in am/pm (0-11) <td>Number<td>><0
td 1+</td><tr<>th scope=<"row"><h
td>Hour in am/pm (1-12) <td Number<td td>td>>12
<1+</td<>tr><th scope="row">m
<td>Minute in hour <td>Number<td td><30
>1+</td<>tr><th scope="row">s
<td>Second in minute <td>Number<td td><>55
1+</td><Tr><th scope="row"><S
td Millisecond <td>Number<td>td>>978
<1+</td><tr><th scope="row"z
<>td>Time zone <td General time zone<td>Pacific Standard Time
>; ; GMT-08:00
<PST
td>1+</td><tr<>th scope="row">Z
<td Fuso orario td>>RFC 822 fuso orario<td td td<>-0800
>1+</td<>tr<>th scope="row"X
><td Fuso <<orario td>>ISO 8601 td>-08
<; ; -08:00
<-0800
td>24+</td></tbody></table<>/blockquote Le lettere pattern vengono in genere ripetute, poiché il loro numero determina la presentazione esatta: <ul><li><strong>"text:></strong> Per la formattazione>, se il numero di lettere di motivo è 4 o più, viene utilizzata la maschera completa; in caso contrario, se disponibile viene utilizzata una maschera breve o abbreviata. Per l'analisi, entrambi i moduli vengono accettati, indipendentemente dal numero di lettere di motivo.</li li>><<strong>"number">Number:</strong> Per la formattazione, il numero di lettere di motivo è il numero minimo di cifre e i numeri più brevi sono a riempimento zero per questo importo. Per l'analisi, il numero di lettere di motivo viene ignorato a meno che non sia necessario separare due campi adiacenti.</li strong><><>"year">Year:</strong> Se il formattatore #getCalendar() Calendar
è il calendario gregoriano, vengono applicate le regole seguenti. <ul><li>Per la formattazione, se il numero di lettere di motivo è 2, l'anno viene troncato a 2 cifre; in caso contrario, viene interpretato come numero. <li>Per l'analisi, se il numero di lettere di motivo è maggiore di 2, l'anno viene interpretato letteralmente, indipendentemente dal numero di cifre. Quindi, usando il modello "MM/gg/a", "01/11/12" analizza il 11 gennaio 12 A.D. <li>Per l'analisi con il modello di anno abbreviato ("y" o "yy"), SimpleDateFormat
deve interpretare l'anno abbreviato rispetto a qualche secolo. Questa operazione viene eseguita modificando le date in modo che siano entro 80 anni prima e 20 anni dopo la creazione dell'istanza SimpleDateFormat
. Ad esempio, usando un modello "MM/gg/yyy" e un'istanza SimpleDateFormat
creata il 1° gennaio 1997, la stringa "01/11/12" verrebbe interpretata come 11 gennaio 2012 mentre la stringa "05/04/64" verrebbe interpretata come 4 maggio 1964. Durante l'analisi, solo le stringhe costituite da esattamente due cifre, come definito da Character#isDigit(char)
, verranno analizzate nel secolo predefinito. Qualsiasi altra stringa numerica, ad esempio una stringa di una cifra, una stringa di tre o più cifre o una stringa a due cifre che non è tutte le cifre ,ad esempio "-1", viene interpretata letteralmente. Viene quindi analizzato "01/02/3" o "01/02/003", usando lo stesso modello, come 2 gennaio 3 AD. Analogamente, "01/02/-3" viene analizzato come 2 gennaio, 4 BC. </ul> In caso contrario, vengono applicati moduli specifici del sistema di calendario. Sia per la formattazione che per l'analisi, se il numero di lettere di motivo è 4 o più, viene utilizzato un modulo long calendar#LONG specifico del calendario. In caso contrario, viene usato un modulo calendar#SHORT breve o abbreviato specifico del calendario. <br> Se viene specificato l'anno 'Y'
della settimana e il calendario #getCalendar() non supporta gli anni della settimana, viene invece utilizzato l'anno di calendario ('y'
). Il supporto degli anni della settimana può essere testato con una chiamata a DateFormat#getCalendar() getCalendar()
.java.util.Calendar#isWeekDateSupported() isWeekDateSupported()
.</li strong><><>"month">Month:</strong> Se il numero di lettere di motivo è 3 o più, il mese viene interpretato come testo; in caso contrario, viene interpretato come numero. <ul><li>Letter <em>M</em> produce nomi di mese sensibili al contesto, ad esempio la forma incorporata di nomi. Lettera <em>M</em> è sensibile al contesto nel senso che quando viene usato nel modello autonomo, ad esempio "MMMM", fornisce la forma autonoma di un nome di mese e quando viene usato nel modello contenente altri campi, ad esempio "d MMMM", fornisce il formato di un nome di mese. Ad esempio, gennaio nella lingua catalana è "de gener" nel formato mentre è "gener" nel formato autonomo. In questo caso, "MMMM" produrrà "gener" e la parte mensile di "d MMMM" produrrà "degener". Se un oggetto DateFormatSymbols
è stato impostato in modo esplicito con il costruttore #SimpleDateFormat(String,DateFormatSymbols)
o il metodo #setDateFormatSymbols(DateFormatSymbols)
, vengono usati i nomi dei mesi specificati da DateFormatSymbols
.</li><li>Letter <em>L</em> produce la forma autonoma dei nomi dei mesi.</li></ul><br></li><><strong>"timezone">Fuso orario generale:</fusi orari sicuri> vengono interpretati come testo se hanno nomi. Per i fusi orari che rappresentano un valore di offset GMT, viene usata la sintassi seguente:
<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}
Le ore devono essere comprese tra 0 e 23 e i minuti devono essere compresi tra 00 e 59. Il formato è indipendente dalle impostazioni locali e le cifre devono essere ricavate dal blocco Latino di base dello standard Unicode.
Per l'analisi, vengono accettati anche fusi orari RFC 822.</li><><strong>"rfc822timezone">RFC 822 fuso orario:</strong> Per la formattazione, viene usato il formato di fuso orario RFC 822 a 4 cifre:
<i>RFC822TimeZone:</i>
<i>Sign</i> <i>TwoDigitHours</i> <i>Minutes</i>
<i>TwoDigitHours:</i>
<i>Digit Digit</i>
TwoDigitHours deve essere compreso tra 00 e 23. Altre definizioni sono come per i fusi orari generali.
Per l'analisi, vengono accettati anche fusi orari generali. <li><strong>"iso8601timezone">ISO 8601 Fuso orario:</strong> Il numero di lettere di motivo designa il formato per la formattazione e l'analisi come indicato di seguito:
<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}
Altre definizioni sono relative ai fusi orari generali o ai fusi orari RFC 822.
Per la formattazione, se il valore di offset di GMT è 0, "Z"
viene prodotto. Se il numero di lettere di motivo è 1, qualsiasi frazione di un'ora viene ignorata. Ad esempio, se il modello è "X"
e il fuso orario è "GMT+05:30"
, "+05"
viene prodotto .
Per l'analisi, la lettera "Z"
viene analizzata come designatore del fuso orario UTC, pertanto "09:30Z"
viene analizzato come "09:30 UTC"
. I fusi orari generali sono <em>not</em> accettati.
Se il numero di lettere di "X"
motivo è 4 o più (ad esempio XXXX
), IllegalArgumentException
viene generato quando si costruisce un SimpleDateFormat
oggetto o #applyPattern(String) applicando un criterio. </ul>SimpleDateFormat
supporta <anche stringhe>di data e ora< localizzate./em> stringhe. In queste stringhe, le lettere di motivo descritte in precedenza possono essere sostituite con altre lettere di motivo dipendenti dalle impostazioni locali. SimpleDateFormat
non gestisce la localizzazione del testo diverso dalle lettere di motivo; fino al client della classe .
<h3>Esempi</h3>
Negli esempi seguenti viene illustrato il modo in cui i modelli di data e ora vengono interpretati nelle impostazioni locali degli Stati Uniti. La data e l'ora indicate sono 2001-07-04 12:08:56 ora locale nel fuso orario pacifico degli Stati Uniti. <blockquote><table class="striped"><caption style="display:none">Esempi di modelli di data e ora interpretati nelle impostazioni locali< degli Stati Uniti/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"><"yyyy.MM.dd G 'at' HH:mm:ss z"
td>2001.07.04 AD at 12:08:56 PDT
<tr<>th scope="row">"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"
><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"
<>td>2001-07-04T12:08:56.235-0700
<Tr><th scope="row">"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
<td2001-07-04T12:08:56.235-07:00
><tr><th scope="row""YYYY-'W'ww-u"
><td><2001-W27-3
/tbody<>/table></blockquote>
<h3>"synchronization">Synchronization</h3>
I formati di data non vengono sincronizzati. È consigliabile creare istanze di formato separate per ogni thread. Se più thread accedono contemporaneamente a un formato, deve essere sincronizzato esternamente.
Aggiunta nella versione 1.1.
Documentazione java per java.text.SimpleDateFormat
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.
Costruttori
SimpleDateFormat() |
Costruisce un |
SimpleDateFormat(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
SimpleDateFormat(String) |
Costruisce un |
SimpleDateFormat(String, DateFormatSymbols) |
Costruisce un |
SimpleDateFormat(String, Locale) |
Costruisce un |
Campi
AmPmField |
Costante utile per AM_PM allineamento dei campi. (Ereditato da DateFormat) |
DateField |
Costante utile per l'allineamento dei campi DATE. (Ereditato da DateFormat) |
DayOfWeekField |
Costante utile per DAY_OF_WEEK allineamento dei campi. (Ereditato da DateFormat) |
DayOfWeekInMonthField |
Costante utile per DAY_OF_WEEK_IN_MONTH allineamento dei campi. (Ereditato da DateFormat) |
DayOfYearField |
Costante utile per DAY_OF_YEAR allineamento dei campi. (Ereditato da DateFormat) |
Default |
Costante per il modello di stile predefinito. (Ereditato da DateFormat) |
EraField |
Costante utile per l'allineamento dei campi ERA. (Ereditato da DateFormat) |
Full |
Costante per il motivo di stile completo. (Ereditato da DateFormat) |
Hour0Field |
Costante utile per l'allineamento dei campi HOUR in base zero. (Ereditato da DateFormat) |
Hour1Field |
Costante utile per l'allineamento dei campi HOUR in base a un'ora. (Ereditato da DateFormat) |
HourOfDay0Field |
Costante utile per l'allineamento dei campi in base zero HOUR_OF_DAY. (Ereditato da DateFormat) |
HourOfDay1Field |
Costante utile per l'allineamento dei campi HOUR_OF_DAY basato su un solo. (Ereditato da DateFormat) |
Long |
Costante per il motivo di stile lungo. (Ereditato da DateFormat) |
Medium |
Costante per il motivo di stile medio. (Ereditato da DateFormat) |
MillisecondField |
Costante utile per l'allineamento dei campi millisecondi. (Ereditato da DateFormat) |
MinuteField |
Costante utile per l'allineamento dei campi MINUTE. (Ereditato da DateFormat) |
MonthField |
Costante utile per l'allineamento dei campi MONTH. (Ereditato da DateFormat) |
SecondField |
Costante utile per l'allineamento del campo SECOND. (Ereditato da DateFormat) |
Short |
Costante per motivo di stile corto. (Ereditato da DateFormat) |
TimezoneField |
Costante utile per l'allineamento dei campi TIMEZONE. (Ereditato da DateFormat) |
WeekOfMonthField |
Costante utile per WEEK_OF_MONTH allineamento dei campi. (Ereditato da DateFormat) |
WeekOfYearField |
Costante utile per WEEK_OF_YEAR allineamento dei campi. (Ereditato da DateFormat) |
YearField |
Costante utile per l'allineamento dei campi YEAR. (Ereditato da DateFormat) |
Proprietà
Calendar |
Ottiene il calendario associato a questo formattatore di data/ora. -oppure- Impostare il calendario da utilizzare in questo formato di data. (Ereditato da DateFormat) |
Class |
Restituisce la classe di runtime di questo |
DateFormatSymbols |
Ottiene una copia dei simboli di formato di data e ora di questo formato di data. -oppure- Imposta i simboli di formato di data e ora di questo formato di data. |
Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
|
JniPeerMembers |
|
Lenient |
Indica se l'analisi di data/ora deve essere leniente. -oppure- Specificare se l'analisi di data/ora deve essere leniente. (Ereditato da DateFormat) |
NumberFormat |
Ottiene il formattatore numerico utilizzato da questo formattatore di data/ora per formattare e analizzare un'ora. -oppure- Consente di impostare il formattatore numerico. (Ereditato da DateFormat) |
PeerReference |
|
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
TimeZone |
Ottiene il fuso orario. -oppure- Imposta il fuso orario per il calendario di questo |
Metodi
ApplyLocalizedPattern(String) |
Applica la stringa di pattern localizzata specificata a questo formato di data. |
ApplyPattern(String) |
Applica la stringa del criterio specificata a questo formato di data. |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
Format(Date) |
Formatta un oggetto |
Format(Date, StringBuffer, FieldPosition) |
Formatta l'oggetto specificato |
Format(Object) |
Formatta un oggetto per produrre una stringa. (Ereditato da _Format) |
Format(Object, StringBuffer, FieldPosition) |
Formatta l'oggetto specificato |
FormatToCharacterIterator(Object) |
Formatta un oggetto che produce un oggetto |
Get2DigitYearStart() |
Restituisce la data di inizio del periodo di 100 anni a 2 cifre che vengono interpretati come all'interno. |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
Parse(String) |
Analizza il testo dall'inizio della stringa specificata per produrre una data. (Ereditato da DateFormat) |
Parse(String, ParsePosition) |
Analizza il testo da una stringa per produrre un oggetto |
ParseObject(String) |
Analizza il testo dall'inizio della stringa specificata per produrre un oggetto . (Ereditato da _Format) |
ParseObject(String, ParsePosition) |
Analizza il testo da una stringa per produrre un oggetto |
Set2DigitYearStart(Date) |
Imposta il periodo di 100 anni a 2 cifre verrà interpretato come in per iniziare alla data specificata dall'utente. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ToArray<T>() |
|
ToLocalizedPattern() |
Restituisce una stringa di pattern localizzata che descrive questo formato di data. |
ToPattern() |
Restituisce una stringa di criteri che descrive questo formato di data. |
ToString() |
Restituisce una rappresentazione di stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
|
Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo>< una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|