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

 

Data di pubblicazione: novembre 2016

Converte una determinata rappresentazione di stringa di una data e di un'ora nell'oggetto DateTimeOffset equivalente usando le informazioni sul formato relative alle impostazioni cultura e lo stile di formattazione specificati.

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

public static DateTimeOffset Parse(
	string input,
	IFormatProvider formatProvider,
	DateTimeStyles styles
)

Parametri

input
Type: System.String

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

formatProvider
Type: System.IFormatProvider

Oggetto che fornisce informazioni sul formato 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. Un valore tipico da specificare è None.

Valore restituito

Type: System.DateTimeOffset

Oggetto equivalente alla data e all'ora contenute in input come specificato da formatProvider e styles.

Exception Condition
ArgumentException

L'offset è maggiore di 14 ore o minore di -14 ore.

-oppure-

styles non è un valore DateTimeStyles valido.

-oppure-

styles contiene un valore DateTimeStyles non supportato.

-oppure-

styles contiene valori DateTimeStyles che non possono essere usati insieme.

ArgumentNullException

input è null.

FormatException

input non contiene una rappresentazione di stringa valida per data e ora.

-oppure-

input contiene la rappresentazione di stringa di un valore di offset senza data o ora.

Questo 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 è facoltativa, <Offset>non può essere visualizzata da sola.</Offset> È 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 TimeSpan.Zero se il DateTimeStyles.AdjustToUniversal o DateTimeStyles.AssumeUniversal valore è espresso nel styles parametro.</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.</Offset>

Il formato di questi tre elementi è definito per il formatProvider parametro, che può essere una delle operazioni seguenti:

Ogni elemento può anche essere racchiuso tra spazi iniziali o finali e <Date>e <Time>gli elementi 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 formatprovider è 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 parametro.

La tabella seguente mostra i membri del System.Globalization.DateTimeStyles enumerazione supportati.

Membro di DateTimeStyles

Descrizione

AdjustToUniversal

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

AllowInnerWhite

Anche se valido, questo valore viene ignorato. Spazio vuoto interno è consentito nel <Date>e <Time>elementi.</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 Parse 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 nel styles parametro.

Nell'esempio seguente viene illustrato l'effetto del passaggio di DateTimeStyles.AssumeLocal, DateTimeStyles.AssumeUniversal, e DateTimeStyles.AdjustToUniversal valori il styles parametro del Parse(String, IFormatProvider, DateTimeStyles) metodo.

string dateString;
DateTimeOffset offsetDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local 
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal);
Console.WriteLine(offsetDate.ToString());   // Displays 5/1/2008 6:00:00 AM -07:00

// Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal);
Console.WriteLine(offsetDate.ToString());   // Displays 5/1/2008 6:00:00 AM +00:00

// Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00";
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal);
Console.WriteLine(offsetDate.ToString());   // Displays 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: