Condividi tramite


DateTimeOffset.Parse Metodo

Definizione

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

Overload

Parse(String)

Converte la rappresentazione specificata in forma di stringa di una data, di un'ora e di un offset nel relativo oggetto DateTimeOffset equivalente.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Analizza un intervallo di caratteri in un valore.

Parse(String, IFormatProvider)

Converte una determinata rappresentazione di stringa di una data e di un'ora nel relativo DateTimeOffset equivalente usando le informazioni sul formato relative alle impostazioni cultura specificate.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

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

Parse(String, IFormatProvider, DateTimeStyles)

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.

Commenti

Importante

Le ere nel calendario giapponese sono basate sul regno dell'imperatore e pertanto è previsto che cambino. Ad esempio, il 1° maggio 2019 contraddistingue l'inizio dell'era Reiwa in JapaneseCalendar e JapaneseLunisolarCalendar. Questo cambio di era interessa 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 loro idoneità per la modifica dell'era, vedere Preparare l'applicazione per la modifica dell'era giapponese. Per le funzionalità di .NET che supportano calendari con più era e per le procedure consigliate quando si usano calendari che supportano più epoche, vedere Uso delle era.

Parse(String)

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

Converte la rappresentazione specificata in forma di stringa di una data, di un'ora e di un offset nel relativo oggetto DateTimeOffset equivalente.

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 che contiene 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 per data e 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"
<Time> "1:02:03 PM"
<Offset> "-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> non è presente, il valore predefinito è il giorno corrente. Se <Time> è mancante, il valore predefinito è 12:00:00 AM. Se <Date> è presente, ma il 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> manca, il valore predefinito è l'offset del fuso orario locale. <L'offset può rappresentare un offset> negativo o positivo dall'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, usare 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

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 relative a s.

Restituisce

Risultato dell'analisi sdi .

Implementazioni

Si applica a

Parse(String, IFormatProvider)

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

Converte una determinata rappresentazione di stringa di una data e di un'ora nel relativo DateTimeOffset equivalente usando le informazioni sul formato relative alle 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 che contiene una data e un'ora da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni sul formato specifiche delle impostazioni cultura relative a 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 per data e 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.

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 visualizzati nella tabella seguente.

Elemento Esempio
<Data> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-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> non è presente, il valore predefinito è il giorno corrente. Se <Date> è presente, ma il 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> manca, il valore predefinito è l'offset del fuso orario locale. <L'offset può rappresentare un offset> negativo o positivo dall'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 usato l'oggetto CultureInfo corrispondente 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

Converte la rappresentazione intervallo di una data e ora specificata nell'oggetto DateTimeOffset equivalente usando le informazioni sul formato relative alle impostazioni cultura e lo stile di formattazione 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 ora da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni sul formato specifiche delle impostazioni cultura relative a 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 input come specificato da formatProvider e styles.

Si applica a

Parse(String, IFormatProvider, DateTimeStyles)

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

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.

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 che contiene una data e un'ora da convertire.

formatProvider
IFormatProvider

Oggetto che fornisce informazioni sul formato specifiche delle impostazioni cultura relative a 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 input come specificato da formatProvider e styles.

Eccezioni

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

-oppure-

styles non è un valore valido di DateTimeStyles.

-oppure-

styles contiene un valore DateTimeStyles non supportato.

-oppure-

styles contiene valori DateTimeStyles che non possono essere usati insieme.

input è null.

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.

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 visualizzati nella tabella seguente.

Elemento Esempio
<Data> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-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> non è presente, il valore predefinito è il giorno corrente. Se <Date> è presente, ma il 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 relativo valore predefinito è l'offset del fuso orario locale o TimeSpan.Zero se DateTimeStyles.AdjustToUniversal il valore o DateTimeStyles.AssumeUniversal è specificato nel styles parametro. Se <Offset> è presente, può rappresentare un offset negativo o positivo dall'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 usato l'oggetto CultureInfo corrispondente alle impostazioni cultura correnti.

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

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

Membro DateTimeStyles Descrizione
AdjustToUniversal Analizza la stringa rappresentata da input e, se necessario, la converte in UTC. Equivale a analizzare una stringa e quindi chiamare il DateTimeOffset.ToUniversalTime metodo dell'oggetto restituito DateTimeOffset .
AllowInnerWhite Anche se valido, questo valore viene ignorato. Lo spazio vuoto interno è consentito 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 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 ha un <elemento Offset> , è necessario specificare l'offset del fuso orario locale. Si tratta del comportamento predefinito del Parse metodo.
AssumeUniversal Indica che, se il parametro manca di un <elemento Offset>, deve essere fornito l'offset input 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 generato se ArgumentException questo valore è incluso nel styles parametro .

Vedi anche

Si applica a