Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DateTimeOffset.TryParseExact (String, String, IFormatProvider, DateTimeStyles, DateTimeOffset)

 

Data di pubblicazione: ottobre 2016

Converte una determinata rappresentazione di stringa di una data e di un'ora nell'oggetto DateTimeOffset equivalente usando il formato, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati. Il formato della rappresentazione di stringa deve corrispondere esattamente al formato specificato.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public static bool TryParseExact(
	string input,
	string format,
	IFormatProvider formatProvider,
	DateTimeStyles styles,
	out DateTimeOffset result
)

Parametri

input
Type: System.String

Stringa che contiene una data e un'ora da convertire.

format
Type: System.String

Identificatore di formato che definisce il formato richiesto di input.

formatProvider
Type: System.IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a input.

styles
Type: System.Globalization.DateTimeStyles

Combinazione bit per bit di valori di enumerazione che indica il formato consentito di input. Un valore tipico da specificare è None.

result
Type: System.DateTimeOffset

Quando questo metodo viene restituito, contiene l'oggetto DateTimeOffset equivalente alla data e all'ora di input se la conversione ha esito positivo oppure MinValue, in caso contrario. La conversione ha esito negativo se il parametro input è null o non contiene una rappresentazione di data e ora in formato di stringa valida nel formato previsto definito da format e provider. Questo parametro viene passato non inizializzato.

Valore restituito

Type: System.Boolean

true se il parametro input è stato convertito correttamente; in caso contrario, false.

Exception Condition
ArgumentException

styles include un valore DateTimeStyles non definito.

-oppure-

DateTimeStyles.NoCurrentDateDefault non è supportato.

-oppure-

styles include valori DateTimeStyles che si escludono a vicenda.

Questo overload del metodo di TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) metodo è simile il DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) metodo, ad eccezione del fatto che questo metodo non genera un'eccezione se la conversione non riesce. Analizza la rappresentazione di stringa di una data e ora in cui deve corrispondere esattamente al pattern specificato da di format parametro. Se il input stringa non corrisponde a questo modello, con alcune varianti di possibili nello spazio vuoto definito per il styles si verifica un errore di parametro, l'operazione di analisi e il metodo restituisce false.

Il format parametro è una stringa che contiene un identificatore di formato standard singolo o uno o più identificatori di formato personalizzate che definiscono il modello richiesto del input. Per ulteriori informazioni sui codici di formattazione validi, vedere Stringhe di formato di data e ora standard e Stringhe di formato di data e ora personalizzato. Se format include il z, zz, o zzz identificatori di formato personalizzati per indicare che deve essere presente in un offset input, tale offset deve includere un segno negativo o positivo. Se manca il segno, l'operazione di analisi ha esito negativo e il metodo restituisce false.

Se format richiede che input contenga una data ma non un'ora, il valore risultante DateTimeOffset oggetto viene assegnato a mezzanotte (0: 00:00). Se format richiede che input contenga un'ora ma non una data, il valore risultante DateTimeOffset oggetto viene assegnato la data corrente nel sistema locale. Se format non richiede che input contenga un offset, l'offset del valore risultante DateTimeOffset oggetto dipende dal valore del styles parametro. Se styles include AssumeLocal, l'offset del fuso orario locale è assegnata la DateTimeOffset oggetto. Se styles include AssumeUniversal, offset Coordinated Universal Time (UTC), o + 00:00, viene assegnato al DateTimeOffset oggetto. Se viene specificato nessuno dei due valori, viene utilizzato l'offset del fuso orario locale.

La data e simboli di tempo e le stringhe utilizzate in input sono definiti dal formatProvider parametro. Lo stesso vale per il modello del preciso input se format è una stringa dell'identificatore di formato standard. Il formatProvider parametro può essere uno dei seguenti:

Se formatprovider è null, CultureInfo viene utilizzato l'oggetto corrispondente alle impostazioni cultura correnti.

Il styles parametro definisce se gli spazi vuoti nella stringa di input, indica la modalità di analisi delle stringhe senza un componente di offset esplicito e supporta la conversione UTC come parte dell'operazione di analisi. Tutti i membri del DateTimeStyles enumerazione sono supportati, ad eccezione NoCurrentDateDefault. Nella tabella seguente elenca gli effetti di ciascun membro supportato.

Membro DateTimeStyles

Comportamento

AdjustToUniversal

Analizza input e, se necessario, lo converte in formato UTC. È equivalente all'analisi di una stringa e quindi la chiamata di DateTimeOffset.ToUniversalTime metodo dell'oggetto restituito DateTimeOffset oggetto.

AssumeLocal

Se format non richiede che input contengono un valore di offset, restituito DateTimeOffset oggetto è assegnato l'offset del fuso orario locale. Comportamento predefinito.

AssumeUniversal

Se format non richiede che input contengono un valore di offset, restituito DateTimeOffset oggetto viene assegnato l'offset UTC (+ 00:00).

AllowInnerWhite

Consente di input da includere uno spazio vuoto non è specificato dal formato interno. Lo spazio vuoto aggiuntivo può essere visualizzato tra i componenti di data e ora e all'interno di singoli componenti, ad eccezione di offset e viene ignorato durante l'analisi della stringa.

AllowLeadingWhite

Consente di input per includere gli spazi iniziali non specificati da format. Che vengono ignorati durante l'analisi della stringa.

AllowTrailingWhite

Consente di input per gli spazi non sono specificati dal finali format. Che vengono ignorati durante l'analisi della stringa.

AllowWhiteSpaces

Consente di input per includere gli spazi iniziali, finali e interni non specificati da format. Non è specificati tutti i caratteri di spazi vuoti aggiuntivi format vengono ignorati durante l'analisi della stringa.

None

Indica che lo spazio vuoto aggiuntivo non è consentito in input. Lo spazio vuoto deve essere presente esattamente come specificato in format. Comportamento predefinito.

RoundtripKind

Non ha alcun effetto, poiché il DateTimeOffset struttura non include un Kind proprietà.

Note per i chiamanti:

Nel .NET Framework 4, TryParseExact restituisce false se la stringa da analizzare contiene un componente di ora e un indicatore AM/PM non presenti nel contratto. Nel .NET Framework 3.5 e versioni precedenti, l'indicatore AM/PM viene ignorato.

L'esempio seguente usa il TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) metodo con identificatori di formato standard e personalizzate, le impostazioni cultura invarianti e diversi DateTimeStyles valori per analizzare più stringhe di data e ora.

string dateString, format;  
DateTimeOffset result;
IFormatProvider provider = CultureInfo.InvariantCulture;

// Parse date-only value with invariant culture and assume time is UTC.
dateString = "06/15/2008";
format = "d";
if (DateTimeOffset.TryParseExact(dateString, format, provider, 
                                 DateTimeStyles.AssumeUniversal, 
                                 out result))
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
   Console.WriteLine("'{0}' is not in the correct format.", dateString);

// Parse date-only value with leading white space.
// Should return False because only trailing whitespace is  
// specified in method call.
dateString = " 06/15/2008";
if (DateTimeOffset.TryParseExact(dateString, format, provider, 
                                 DateTimeStyles.AllowTrailingWhite, 
                                 out result))
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
   Console.WriteLine("'{0}' is not in the correct format.", dateString);

// Parse date and time value, and allow all white space.
dateString = " 06/15/   2008  15:15    -05:00";
format = "MM/dd/yyyy H:mm zzz";
if (DateTimeOffset.TryParseExact(dateString, format, provider, 
                                 DateTimeStyles.AllowWhiteSpaces, 
                                 out result))
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
   Console.WriteLine("'{0}' is not in the correct format.", dateString);

// Parse date and time and convert to UTC.
dateString = "  06/15/2008 15:15:30 -05:00";   
format = "MM/dd/yyyy H:mm:ss zzz";       
if (DateTimeOffset.TryParseExact(dateString, format, provider, 
                                DateTimeStyles.AllowWhiteSpaces | 
                                DateTimeStyles.AdjustToUniversal, 
                                out result))
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
   Console.WriteLine("'{0}' is not in the correct format.", dateString);
// The example displays the following output:
//    '06/15/2008' converts to 6/15/2008 12:00:00 AM +00:00.
//    ' 06/15/2008' is not in the correct format.
//    ' 06/15/   2008  15:15    -05:00' converts to 6/15/2008 3:15:00 PM -05:00.
//    '  06/15/2008 15:15:30 -05:00' converts to 6/15/2008 8:15:30 PM +00:00.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: