Condividi tramite


DateTimeOffset.Parse Metodo

Definizione

Converte la rappresentazione di stringa specificata di una data e un'ora nell'equivalente DateTimeOffset .

Overload

Nome Descrizione
Parse(String)

Converte la rappresentazione di stringa specificata di una data, un'ora e un offset nell'equivalente DateTimeOffset .

Parse(ReadOnlySpan<Char>, IFormatProvider)

Analizza un intervallo di caratteri in un valore.

Parse(String, IFormatProvider)

Converte la rappresentazione di stringa specificata di una data e ora nell'equivalente DateTimeOffset utilizzando le informazioni sul formato specifiche delle impostazioni cultura specificate.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Converte la rappresentazione di intervallo specificata di una data e un'ora nell'equivalente DateTimeOffset utilizzando le informazioni sul formato e lo stile di formattazione specifici delle impostazioni cultura specificati.

Parse(String, IFormatProvider, DateTimeStyles)

Converte la rappresentazione di stringa specificata di una data e un'ora nell'equivalente DateTimeOffset utilizzando le informazioni sul formato e lo stile di formattazione specifici delle impostazioni cultura specificati.

Commenti

Importante

Le ere nei calendari giapponesi si basano sul regno dell'imperatore e quindi si prevede di cambiare. Ad esempio, il 1° maggio 2019 ha contrassegnato l'inizio dell'era Reiwa in JapaneseCalendar e JapaneseLunisolarCalendar. Tale cambiamento di era influisce su tutte le applicazioni che usano questi calendari. Per altre informazioni e per determinare se le applicazioni sono interessate, vedere Gestione di una nuova era nel calendario giapponese in .NET. Per informazioni sui test delle applicazioni nei sistemi Windows per garantire la conformità per il cambiamento dell'era, vedere Preparare l'applicazione per il cambiamento dell'era giapponese. Per le funzionalità di .NET che supportano calendari con più ere e per le procedure consigliate quando si usano calendari che supportano più ere, vedere Uso delle era.

Parse(String)

Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs

Converte la rappresentazione di stringa specificata di una data, un'ora e un offset nell'equivalente DateTimeOffset .

public:
 static DateTimeOffset Parse(System::String ^ input);
public static DateTimeOffset Parse(string input);
static member Parse : string -> DateTimeOffset
Public Shared Function Parse (input As String) As DateTimeOffset

Parametri

input
String

Stringa contenente una data e un'ora da convertire.

Restituisce

Oggetto equivalente alla data e all'ora contenute in input.

Eccezioni

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

input è null.

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

oppure

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

Esempio

Nell'esempio seguente viene chiamato il Parse(String) metodo per analizzare diverse stringhe di data e ora. L'esempio include l'output del 22 marzo 2007 in un sistema le cui impostazioni cultura sono en-us.

string dateString;
DateTimeOffset offsetDate;

// String with date only
dateString = "05/01/2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());

// String with time only
dateString = "11:36 PM";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());

// String with date and offset
dateString = "05/01/2008 +1:00";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());

// String with day abbreviation
dateString = "Thu May 01, 2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with date only
let dateString = "05/01/2008"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"

// String with time only
let dateString = "11:36 PM"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"

// String with date and offset
let dateString = "05/01/2008 +1:00"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"

// String with day abbreviation
let dateString = "Thu May 01, 2008"
let offsetDate = DateTimeOffset.Parse(dateString)
printfn $"{offsetDate}"
Dim dateString As String
Dim offsetDate As DateTimeOffset

' String with date only
dateString = "05/01/2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 12:00:00 AM -07:00  

' String with time only
dateString = "11:36 PM"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 3/26/2007 11:36:00 PM -07:00

' String with date and offset 
dateString = "05/01/2008 +7:00"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 12:00:00 AM +07:00

' String with day abbreviation
dateString = "Thu May 01, 2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 12:00:00 AM -07:00

Commenti

Parse(String) analizza una stringa con tre elementi che possono essere visualizzati in qualsiasi ordine e sono delimitati da spazi vuoti. Questi tre elementi sono illustrati nella tabella seguente.

Elemento Esempio
<Data> "2/10/2007"
<Tempo> "1:02:03 PM"
<Compensare> "-7:30"

Anche se ognuno di questi elementi è facoltativo, <Offset> non può essere visualizzato da solo. Deve essere fornito insieme <a Data> o <Ora>. Se <Date> è mancante, il valore predefinito è il giorno corrente. Se <Time> è mancante, il valore predefinito è 12:00:00 AM. Se <Date> è presente ma il relativo componente year è costituito da solo due cifre, viene convertito in un anno nel calendario corrente delle impostazioni cultura correnti in base al valore della Calendar.TwoDigitYearMax proprietà . Se <Offset> non è presente, il valore predefinito è l'offset del fuso orario locale. <L'offset> può rappresentare un offset negativo o positivo rispetto all'ora UTC (Coordinated Universal Time). In entrambi i casi, <Offset> deve includere un simbolo di segno.

La input stringa viene analizzata usando le informazioni di formattazione in un DateTimeFormatInfo oggetto inizializzato per le impostazioni cultura correnti. Per analizzare una stringa contenente la formattazione designata che non corrisponde necessariamente alla formattazione delle impostazioni cultura correnti, utilizzare il ParseExact metodo e fornire un identificatore di formato.

Vedi anche

Si applica a

Parse(ReadOnlySpan<Char>, IFormatProvider)

Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs

Analizza un intervallo di caratteri in un valore.

public:
 static DateTimeOffset Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse(ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As DateTimeOffset

Parametri

s
ReadOnlySpan<Char>

Intervallo di caratteri da analizzare.

provider
IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura su s.

Restituisce

Risultato dell'analisi sdi .

Implementazioni

Si applica a

Parse(String, IFormatProvider)

Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs

Converte la rappresentazione di stringa specificata di una data e ora nell'equivalente DateTimeOffset utilizzando le informazioni sul formato specifiche delle impostazioni cultura specificate.

public:
 static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
 static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse(string input, IFormatProvider formatProvider);
public static DateTimeOffset Parse(string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As DateTimeOffset

Parametri

input
String

Stringa contenente una data e un'ora da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni sul formato specifiche delle impostazioni cultura su input.

Restituisce

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

Implementazioni

Eccezioni

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

input è null.

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

oppure

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

Esempio

L'esempio seguente analizza le stringhe di data e ora formattate per le impostazioni cultura fr-fr e le visualizza usando le impostazioni cultura predefinite del sistema locale en-us.

DateTimeFormatInfo fmt = new CultureInfo("fr-fr").DateTimeFormat;
string dateString;
DateTimeOffset offsetDate;

dateString = "03-12-07";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
                  dateString,
                  offsetDate.ToString());

dateString = "15/09/07 08:45:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
                  dateString,
                  offsetDate.ToString());

dateString = "mar. 1 janvier 2008 1:00:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
                  dateString,
                  offsetDate.ToString());
// The example displays the following output to the console:
//    03-12-07 returns 12/3/2007 12:00:00 AM -08:00
//    15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
//    mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
let fmt = CultureInfo("fr-fr").DateTimeFormat
let dateString = "03-12-07"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"

let dateString = "15/09/07 08:45:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"

let dateString = "mar. 1 janvier 2008 1:00:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"

// The example displays the following output to the console:
//    03-12-07 returns 12/3/2007 12:00:00 AM -08:00
//    15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
//    mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
Dim fmt As DateTimeFormatInfo = New CultureInfo("fr-fr").DateTimeFormat
Dim dateString As String
Dim offsetDate As DateTimeOffset

dateString = "03-12-07"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
                  dateString, _
                  offsetDate.ToString())

dateString = "15/09/07 08:45:00 +1:00"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
                  dateString, _
                  offsetDate.ToString())

dateString = "mar. 1 janvier 2008 1:00:00 +1:00" 
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
                  dateString, _
                  offsetDate.ToString())
' The example displays the following output to the console:
'    03-12-07 returns 12/3/2007 12:00:00 AM -08:00
'    15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
'    mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00

Commenti

Questo metodo analizza una stringa con tre elementi che possono essere visualizzati in qualsiasi ordine e sono delimitati da spazi vuoti. Questi tre elementi sono illustrati nella tabella seguente.

Elemento Esempio
<Data> "2/10/2007"
<Tempo> "1:02:03 PM"
<Compensare> "-7:30"

Anche se ognuno di questi elementi è facoltativo, <Offset> non può essere visualizzato da solo. Deve essere fornito insieme <a Data> o <Ora>. Se <Date> è mancante, il valore predefinito è il giorno corrente. Se <Date> è presente ma il relativo componente year è costituito da solo due cifre, viene convertito in un anno nel provider calendario corrente del parametro in base al valore della Calendar.TwoDigitYearMax proprietà. Se <Time> è mancante, il valore predefinito è 12:00:00 AM. Se <Offset> non è presente, il valore predefinito è l'offset del fuso orario locale. <L'offset> può rappresentare un offset negativo o positivo rispetto all'ora UTC (Coordinated Universal Time). In entrambi i casi, <Offset> deve includere un simbolo di segno.

Il formato di questi tre elementi è definito dal formatProvider parametro , che può essere uno dei seguenti:

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

Il segno positivo o negativo usato in <Offset> deve essere + o -. Non è definito dalle PositiveSign proprietà o NegativeSign dell'oggetto NumberFormatInfo del formatProvider parametro .

Vedi anche

Si applica a

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs

Converte la rappresentazione di intervallo specificata di una data e un'ora nell'equivalente DateTimeOffset utilizzando le informazioni sul formato e lo stile di formattazione specifici delle impostazioni cultura specificati.

public static DateTimeOffset Parse(ReadOnlySpan<char> input, IFormatProvider? formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
public static DateTimeOffset Parse(ReadOnlySpan<char> input, IFormatProvider formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
static member Parse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing, Optional styles As DateTimeStyles = System.Globalization.DateTimeStyles.None) As DateTimeOffset

Parametri

input
ReadOnlySpan<Char>

Intervallo contenente i caratteri che rappresentano una data e un'ora da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni sul formato specifiche delle impostazioni cultura su input.

styles
DateTimeStyles

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

Restituisce

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

Si applica a

Parse(String, IFormatProvider, DateTimeStyles)

Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs
Origine:
DateTimeOffset.cs

Converte la rappresentazione di stringa specificata di una data e un'ora nell'equivalente DateTimeOffset utilizzando le informazioni sul formato e lo stile di formattazione specifici delle impostazioni cultura specificati.

public:
 static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles);
public static DateTimeOffset Parse(string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles);
public static DateTimeOffset Parse(string input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles);
static member Parse : string * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles) As DateTimeOffset

Parametri

input
String

Stringa contenente una data e un'ora da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni sul formato specifiche delle impostazioni cultura su input.

styles
DateTimeStyles

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

Restituisce

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

Eccezioni

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

oppure

styles non è un valore valido DateTimeStyles .

oppure

styles include un valore non supportato DateTimeStyles .

oppure

styles include DateTimeStyles valori che non possono essere utilizzati insieme.

input è null.

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

oppure

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

Esempio

Nell'esempio seguente viene illustrato l'effetto del passaggio dei DateTimeStyles.AssumeLocalvalori , DateTimeStyles.AssumeUniversale DateTimeStyles.AdjustToUniversal al 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
let dateString = "05/01/2008 6:00:00"
// Assume time is local
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal)
printfn $"{offsetDate}"   // Displays 5/1/2008 6:00:00 AM -07:00

// Assume time is UTC
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal)
printfn $"{offsetDate}"   // Displays 5/1/2008 6:00:00 AM +00:00

// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal)
printfn $"{offsetDate}"   // Displays 5/1/2008 1:00:00 AM +00:00
Dim dateString As String
Dim offsetDate As DateTimeOffset

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

' Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, Nothing, 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, Nothing, DateTimeStyles.AdjustToUniversal)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 1:00:00 AM +00:00

Commenti

Questo metodo analizza una stringa con tre elementi che possono essere visualizzati in qualsiasi ordine e sono delimitati da spazi vuoti. Questi tre elementi sono illustrati nella tabella seguente.

Elemento Esempio
<Data> "2/10/2007"
<Tempo> "1:02:03 PM"
<Compensare> "-7:30"

Anche se ognuno di questi elementi è facoltativo, <Offset> non può essere visualizzato da solo. Deve essere fornito insieme <a Data> o <Ora>. Se <Date> è mancante, il valore predefinito è il giorno corrente. Se <Date> è presente ma il relativo componente year è costituito da solo due cifre, viene convertito in un anno nel provider calendario corrente del parametro in base al valore della Calendar.TwoDigitYearMax proprietà. Se <Time> è mancante, il valore predefinito è 12:00:00 AM. Se <Offset> non è presente, il valore predefinito è l'offset del fuso orario locale o TimeSpan.Zero se il DateTimeStyles.AdjustToUniversal valore o DateTimeStyles.AssumeUniversal è specificato nel styles parametro . Se <Offset> è presente, può rappresentare un offset negativo o positivo rispetto all'ora UTC (Coordinated Universal Time). In entrambi i casi, <Offset> deve includere un simbolo di segno.

Il formato di questi tre elementi è definito dal formatProvider parametro , che può essere uno dei seguenti:

Ogni elemento può anche essere racchiuso tra spazi vuoti iniziali o finali e gli <elementi Data> e <ora> possono includere spazi vuoti interni, ad esempio 6: 00:00. Solo il <componente Offset> non può includere spazi vuoti interni.

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

Il segno positivo o negativo usato in <Offset> deve essere + o -. Non è definito dalle PositiveSign proprietà o NegativeSign dell'oggetto NumberFormatInfo restituito dal formatProvider parametro .

Nella tabella seguente vengono illustrati i membri dell'enumerazione System.Globalization.DateTimeStyles supportata.

Membro DateTimeStyles Descrizione
AdjustToUniversal Analizza la stringa rappresentata da input e, se necessario, la converte in formato UTC. Equivale ad analizzare una stringa e quindi a chiamare il DateTimeOffset.ToUniversalTime metodo dell'oggetto restituito DateTimeOffset .
AllowInnerWhite Anche se valido, questo valore viene ignorato. Gli spazi vuoti interni sono consentiti negli <elementi Data> e <Ora> .
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 Si tratta del comportamento predefinito. Non può essere sottoposto a override fornendo un valore di enumerazione più restrittivo DateTimeStyles , ad esempio DateTimeStyles.None.
AssumeLocal Indica che, se il input parametro non dispone di un <elemento Offset> , deve essere specificato l'offset del fuso orario locale. Si tratta del comportamento predefinito del Parse metodo .
AssumeUniversal Indica che, se il input parametro non dispone di un <elemento Offset> , deve essere specificato l'offset UTC (00:00).
None Anche se valido, questo valore viene ignorato e non ha alcun effetto.
RoundtripKind Poiché la DateTimeOffset struttura non include una Kind proprietà, questo valore non ha alcun effetto.

Solo il DateTimeStyles.NoCurrentDateDefault valore non è supportato. Viene generata un'eccezione ArgumentException se questo valore è incluso nel styles parametro .

Vedi anche

Si applica a