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.TryParse (String, IFormatProvider, DateTimeStyles, DateTimeOffset)

 

Data di pubblicazione: ottobre 2016

Prova a convertire una rappresentazione di stringa di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente e restituisce un valore che indica se la conversione è stata eseguita correttamente.

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

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

Parametri

input
Type: System.String

Una stringa contenente una data e un'ora da convertire.

formatProvider
Type: System.IFormatProvider

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

styles
Type: System.Globalization.DateTimeStyles

Combinazione bit per bit di valori di enumerazione che indica il formato consentito di input.

result
Type: System.DateTimeOffset

Quando il metodo restituisce il risultato, questo contiene il valore DateTimeOffset equivalente alla data e all'ora del parametro 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. 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 TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) metodo è simile di DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) metodo, ad eccezione del fatto che non genera un'eccezione se la conversione non riesce. Il metodo analizza una stringa con tre elementi che possono essere visualizzati in qualsiasi ordine e sono delimitate da spazi vuoti. Questi tre elementi sono visualizzati nella tabella seguente.

Elemento

Esempio

<Date></Date>

"2/10/2007"

<Time></Time>

"1:02:03 PM"

<Offset></Offset>

"-7:30"

Anche se ognuno di questi elementi è facoltativo, l'elemento <Offset> non può essere presente da solo. È necessario specificare insieme a uno <Date>o <Time>.</Time> </Date> Se <Date>è mancante, il valore predefinito è la data odierna.</Date> Se <Date>è presente, ma il componente è costituito da due sole cifre di anno, viene convertito in un anno nel provider calendario corrente del parametro in base al valore del Calendar.TwoDigitYearMax proprietà.</Date> Se <Time>è mancante, il valore predefinito è 12:00:00 AM</Time> Se <Offset>è mancante, il valore predefinito è l'offset del fuso orario locale, o Zero se il DateTimeStyles.AdjustToUniversal o DateTimeStyles.AssumeUniversal valore è espresso in styles.</Offset> Se <Offset>è presente, può rappresentare un valore negativo o un offset positivo da Coordinated Universal Time (UTC).</Offset> In entrambi i casi <Offset>deve includere un simbolo di segno o il metodo restituisce false.</Offset>

Il input stringa viene analizzata tramite le informazioni di formattazione specifiche delle impostazioni cultura in un DateTimeFormatInfo oggetto fornito dal formatProvider parametro. Il formatProvider parametro può essere uno dei seguenti:

Inoltre, ogni elemento può essere delimitato da spazi iniziali o finali e <Date>e <Time>componenti possono includere uno spazio vuoto interno (ad esempio 6:00:00).</Time> </Date> Solo il <Offset>componente non può includere uno spazio vuoto interno.</Offset>

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

Il segno positivo o negativo usato nella <Offset>deve essere + o -.</Offset> Non è definito dal PositiveSign o NegativeSign le proprietà del NumberFormatInfo oggetto restituito dal formatprovider del parametro NumberFormat proprietà.

I seguenti membri del DateTimeStyles enumerazione sono supportati:

Membro di DateTimeStyles

Commenti

AdjustToUniversal

Analizza la stringa rappresentata dal input e, se necessario, lo converte in formato UTC. È equivalente all'analisi di una stringa e quindi chiamare l'oggetto restituito ToUniversalTime() metodo.

AllowInnerWhite

Anche se valido, questo valore viene ignorato. Uno spazio vuoto interno è consentito nel <Date>e <Time>componenti.</Time> </Date>

AllowLeadingWhite

Anche se valido, questo valore viene ignorato. Lo spazio vuoto iniziale è consentito davanti a ogni componente nella stringa analizzata.

AllowTrailingWhite

Anche se valido, questo valore viene ignorato. Lo spazio vuoto finale è consentito davanti a ogni componente nella stringa analizzata.

AllowWhiteSpaces

Comportamento predefinito. Impossibile eseguire l'override fornendo più restrittivo DateTimeStyles valore di enumerazione, ad esempio DateTimeStyles.None.

AssumeLocal

Indica che, se il input parametro manca un <Offset>elemento, l'offset del fuso orario locale deve essere fornito.</Offset> Si tratta del comportamento predefinito del TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) metodo.

AssumeUniversal

Indica che, se il input parametro manca un <Offset>elemento, l'offset UTC (00:00) deve essere fornito.</Offset>

None

Anche se valido, questo valore viene ignorato e non ha alcun effetto.

RoundtripKind

Poiché il DateTimeOffset struttura non include un Kind proprietà, questo valore non ha alcun effetto.

Solo il DateTimeStyles.NoCurrentDateDefault valore non è supportato. Un ArgumentException viene generata se questo valore è incluso nella styles parametro.

L'esempio seguente chiama il TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) (metodo) con un'ampia gamma di DateTimeStyles valori per analizzare alcune stringhe con formati di data e ora.

string dateString;
DateTimeOffset parsedDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local 
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider, 
                            DateTimeStyles.AssumeLocal, 
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to to {1}.", 
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);    

// Assume time is UTC
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider, 
                            DateTimeStyles.AssumeUniversal, 
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to to {1}.", 
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);    

// Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00";
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider, 
                           DateTimeStyles.AdjustToUniversal, 
                           out parsedDate))
   Console.WriteLine("'{0}' was converted to to {1}.", 
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);    
// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to to 5/1/2008 1:00:00 AM +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: