DateTimeOffset.ParseExact DateTimeOffset.ParseExact DateTimeOffset.ParseExact DateTimeOffset.ParseExact Method

Definizione

Converte una determinata rappresentazione di stringa di una data e di un'ora nell'equivalente DateTimeOffset.Converts the specified string representation of a date and time to its DateTimeOffset equivalent. Il formato della rappresentazione di stringa deve corrispondere esattamente a un formato specificato.The format of the string representation must match a specified format exactly.

Overload

ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles)

Converte la rappresentazione di stringa specificata di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente usando i formati, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified formats, culture-specific format information, and style. Il formato della rappresentazione di stringa deve corrispondere esattamente a uno dei formati specificati.The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles)

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.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Il formato della rappresentazione di stringa deve corrispondere esattamente al formato specificato.The format of the string representation must match the specified format exactly.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Converte un intervallo di caratteri che rappresenta una data e un'ora nell'oggetto DateTimeOffset equivalente usando il formato, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati.Converts a character span that represents a date and time to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Il formato della rappresentazione di data e ora deve corrispondere esattamente al formato specificato.The format of the date and time representation must match the specified format exactly.

ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider)

Converte una determinata rappresentazione di stringa di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente usando il formato specificato e le informazioni sul formato relative alle impostazioni cultura specificate.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified format and culture-specific format information. Il formato della rappresentazione di stringa deve corrispondere esattamente al formato specificato.The format of the string representation must match the specified format exactly.

ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles)

Converte un intervallo di caratteri che contiene la rappresentazione stringa di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente usando i formati, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati.Converts a character span that contains the string representation of a date and time to its DateTimeOffset equivalent using the specified formats, culture-specific format information, and style. Il formato della rappresentazione di data e ora deve corrispondere esattamente a uno dei formati specificati.The format of the date and time representation must match one of the specified formats exactly.

ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles) ParseExact(String, String[], IFormatProvider, DateTimeStyles)

Converte la rappresentazione di stringa specificata di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente usando i formati, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified formats, culture-specific format information, and style. Il formato della rappresentazione di stringa deve corrispondere esattamente a uno dei formati specificati.The format of the string representation must match one of the specified formats exactly.

public:
 static DateTimeOffset ParseExact(System::String ^ input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles);
public static DateTimeOffset ParseExact (string input, string[] formats, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles);
static member ParseExact : string * string[] * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function ParseExact (input As String, formats As String(), formatProvider As IFormatProvider, styles As DateTimeStyles) As DateTimeOffset

Parametri

input
String String String String

Stringa che contiene una data e un'ora da convertire.A string that contains a date and time to convert.

formats
String[]

Matrice di identificatori di formato che definiscono i formati previsti di input.An array of format specifiers that define the expected formats of input.

formatProvider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a input.An object that supplies culture-specific formatting information about input.

styles
DateTimeStyles DateTimeStyles DateTimeStyles DateTimeStyles

Combinazione bit per bit di valori di enumerazione che indica il formato consentito di input.A bitwise combination of enumeration values that indicates the permitted format of input.

Restituisce

Oggetto equivalente alla data e all'ora contenute nel parametro input, come specificato dai parametri formats, formatProvider e styles.An object that is equivalent to the date and time that is contained in the input parameter, as specified by the formats, formatProvider, and styles parameters.

Eccezioni

L'offset è maggiore di 14 ore o minore di -14 ore.The offset is greater than 14 hours or less than -14 hours.

-oppure--or- styles contiene un valore non supportato.styles includes an unsupported value.

-oppure--or- Il parametro styles contiene valori DateTimeStyles che non possono essere usati insieme.The styles parameter contains DateTimeStyles values that cannot be used together.

input è una stringa vuota ("").input is an empty string ("").

-oppure--or- input non contiene una rappresentazione di stringa valida per data e ora.input does not contain a valid string representation of a date and time.

In alternativa-or- Nessun elemento di formats contiene un identificatore di formato valido.No element of formats contains a valid format specifier.

In alternativa-or- Il componente relativo alle ore e l'identificatore AM/PM in input non corrispondono.The hour component and the AM/PM designator in input do not agree.

Esempi

Nell'esempio seguente vengono definiti più formati di input per la rappresentazione di stringa di un valore di data e ora e di offset, quindi la stringa immessa dall'utente viene DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) passata al metodo.The following example defines multiple input formats for the string representation of a date and time and offset value, and then passes the string that is entered by the user to the DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) method.

TextReader conIn = Console.In;
TextWriter conOut = Console.Out;
int tries = 0;
string input = String.Empty;
string[] formats = new string[] {@"@M/dd/yyyy HH:m zzz", @"MM/dd/yyyy HH:m zzz", 
                                 @"M/d/yyyy HH:m zzz", @"MM/d/yyyy HH:m zzz", 
                                 @"M/dd/yy HH:m zzz", @"MM/dd/yy HH:m zzz", 
                                 @"M/d/yy HH:m zzz", @"MM/d/yy HH:m zzz",                             
                                 @"M/dd/yyyy H:m zzz", @"MM/dd/yyyy H:m zzz", 
                                 @"M/d/yyyy H:m zzz", @"MM/d/yyyy H:m zzz", 
                                 @"M/dd/yy H:m zzz", @"MM/dd/yy H:m zzz", 
                                 @"M/d/yy H:m zzz", @"MM/d/yy H:m zzz",                               
                                 @"M/dd/yyyy HH:mm zzz", @"MM/dd/yyyy HH:mm zzz", 
                                 @"M/d/yyyy HH:mm zzz", @"MM/d/yyyy HH:mm zzz", 
                                 @"M/dd/yy HH:mm zzz", @"MM/dd/yy HH:mm zzz", 
                                 @"M/d/yy HH:mm zzz", @"MM/d/yy HH:mm zzz",                                 
                                 @"M/dd/yyyy H:mm zzz", @"MM/dd/yyyy H:mm zzz", 
                                 @"M/d/yyyy H:mm zzz", @"MM/d/yyyy H:mm zzz", 
                                 @"M/dd/yy H:mm zzz", @"MM/dd/yy H:mm zzz", 
                                 @"M/d/yy H:mm zzz", @"MM/d/yy H:mm zzz"};
IFormatProvider provider = CultureInfo.InvariantCulture.DateTimeFormat;
DateTimeOffset result = new DateTimeOffset();

do { 
   conOut.WriteLine("Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),");
   conOut.Write("Then press Enter: ");
   input = conIn.ReadLine();
   conOut.WriteLine();
   try
   {
      result = DateTimeOffset.ParseExact(input, formats, provider, 
                                         DateTimeStyles.AllowWhiteSpaces);
      break;
   }
   catch (FormatException)
   {
      Console.WriteLine("Unable to parse {0}.", input);      
      tries++;
   }
} while (tries < 3);
if (tries >= 3)
   Console.WriteLine("Exiting application without parsing {0}", input);
else
   Console.WriteLine("{0} was converted to {1}", input, result.ToString());                                                     
// Some successful sample interactions with the user might appear as follows:
//    Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),
//    Then press Enter: 12/08/2007 6:54 -6:00
//    
//    12/08/2007 6:54 -6:00 was converted to 12/8/2007 6:54:00 AM -06:00         
//    
//    Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),
//    Then press Enter: 12/8/2007 06:54 -06:00
//    
//    12/8/2007 06:54 -06:00 was converted to 12/8/2007 6:54:00 AM -06:00
//    
//    Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),
//    Then press Enter: 12/5/07 6:54 -6:00
//    
//    12/5/07 6:54 -6:00 was converted to 12/5/2007 6:54:00 AM -06:00 
Dim conIn As TextReader = Console.In
Dim conOut As TextWriter = Console.Out
Dim tries As Integer = 0
Dim input As String = String.Empty
Dim formats() As String = {"M/dd/yyyy HH:m zzz", "MM/dd/yyyy HH:m zzz", _
                           "M/d/yyyy HH:m zzz", "MM/d/yyyy HH:m zzz", _
                           "M/dd/yy HH:m zzz", "MM/dd/yy HH:m zzz", _
                           "M/d/yy HH:m zzz", "MM/d/yy HH:m zzz", _                                 
                           "M/dd/yyyy H:m zzz", "MM/dd/yyyy H:m zzz", _
                           "M/d/yyyy H:m zzz", "MM/d/yyyy H:m zzz", _
                           "M/dd/yy H:m zzz", "MM/dd/yy H:m zzz", _
                           "M/d/yy H:m zzz", "MM/d/yy H:m zzz", _                               
                           "M/dd/yyyy HH:mm zzz", "MM/dd/yyyy HH:mm zzz", _
                           "M/d/yyyy HH:mm zzz", "MM/d/yyyy HH:mm zzz", _
                           "M/dd/yy HH:mm zzz", "MM/dd/yy HH:mm zzz", _
                           "M/d/yy HH:mm zzz", "MM/d/yy HH:mm zzz", _                                 
                           "M/dd/yyyy H:mm zzz", "MM/dd/yyyy H:mm zzz", _
                           "M/d/yyyy H:mm zzz", "MM/d/yyyy H:mm zzz", _
                           "M/dd/yy H:mm zzz", "MM/dd/yy H:mm zzz", _
                           "M/d/yy H:mm zzz", "MM/d/yy H:mm zzz"}   
Dim provider As IFormatProvider = CultureInfo.InvariantCulture.DateTimeFormat
Dim result As DateTimeOffset

Do 
   conOut.WriteLine("Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),")
   conOut.Write("Then press Enter: ")
   input = conIn.ReadLine()
   conOut.WriteLine() 
   Try
      result = DateTimeOffset.ParseExact(input, formats, provider, _
                                         DateTimeStyles.AllowWhiteSpaces)
      Exit Do
   Catch e As FormatException
      Console.WriteLine("Unable to parse {0}.", input)      
      tries += 1
   End Try
Loop While tries < 3
If tries >= 3 Then
   Console.WriteLine("Exiting application without parsing {0}", input)
Else
   Console.WriteLine("{0} was converted to {1}", input, result.ToString())                                                     
End If 
' Some successful sample interactions with the user might appear as follows:
'    Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),
'    Then press Enter: 12/08/2007 6:54 -6:00
'    
'    12/08/2007 6:54 -6:00 was converted to 12/8/2007 6:54:00 AM -06:00         
'    
'    Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),
'    Then press Enter: 12/8/2007 06:54 -06:00
'    
'    12/8/2007 06:54 -06:00 was converted to 12/8/2007 6:54:00 AM -06:00
'    
'    Enter a date, time, and offset (MM/DD/YYYY HH:MM +/-HH:MM),
'    Then press Enter: 12/5/07 6:54 -6:00
'    
'    12/5/07 6:54 -6:00 was converted to 12/5/2007 6:54:00 AM -06:00 

Commenti

Il DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) metodo analizza la rappresentazione di stringa di una data che corrisponde formats a uno dei modelli assegnati al parametro.The DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) method parses the string representation of a date that matches any one of the patterns assigned to the formats parameter. Se la input stringa non corrisponde a uno di questi modelli con le varianti definite styles dal parametro, il metodo genera un' FormatExceptioneccezione.If the input string does not match any one of these patterns with any of the variations defined by the styles parameter, the method throws a FormatException. Oltre a confrontare input più modelli di formattazione, questo overload si comporta DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) in modo identico al metodo.Aside from comparing input to multiple formatting patterns, this overload behaves identically to the DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) method.

Il formats parametro è una matrice input di stringhe i cui elementi contengono un singolo identificatore di formato standard o uno o più identificatori di formato personalizzati che definiscono il modello possibile del parametro.The formats parameter is a string array whose elements contain either a single standard format specifier or one or more custom format specifiers that define the possible pattern of the input parameter. Quando viene chiamato il metodo, input deve corrispondere a uno di questi modelli.When the method is called, input must match one of these patterns. Per informazioni dettagliate sui codici di formattazione validi, vedere stringhe di formato di data e ora standard e stringhe di formato di data e ora personalizzate.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Se formats l'elemento corrispondente in include gli zidentificatori zzdi formato zzz personalizzati, o per indicare che deve essere presente un offset in input, tale offset deve includere un segno negativo o un segno positivo.If the matched element in formats includes the z, zz, or zzz custom format specifiers to indicate that an offset must be present in input, that offset must include either a negative sign or a positive sign. Se il segno è mancante, il metodo genera un' FormatExceptioneccezione.If the sign is missing, the method throws a FormatException.

Importante

L'uso formats del parametro di questo overload per specificare più formati può aiutare a ridurre la frustrazione di molti utenti durante l'immissione di date e ore.Using the formats parameter of this overload to specify multiple formats can help reduce the frustration many users experience when they enter dates and times. In particolare, la possibilità di definire più modelli di input consente a un'applicazione di gestire le rappresentazioni di data e ora che possono includere o mancano zeri iniziali in mesi, giorni, ore, minuti e secondi.In particular, the ability to define multiple input patterns enables an application to handle date and time representations that can either include or lack leading zeros in months, days, hours, minutes, and seconds. Nell'esempio viene illustrata questa situazione.The example provides an illustration of this.

Se per l'elemento corrispondente in formats è necessario input che contenga una data ma non un'ora, DateTimeOffset all'oggetto risultante viene assegnata un'ora della mezzanotte (0:00:00).If the matched element in formats requires that input contain a date but not a time, the resulting DateTimeOffset object is assigned a time of midnight (0:00:00). Se l'elemento corrispondente in formats richiede che input contengono un'ora ma non una data, all'oggetto risultante DateTimeOffset viene assegnata la data corrente nel sistema locale.If the matched element in formats requires that input contain a time but not a date, the resulting DateTimeOffset object is assigned the current date on the local system. Se formats l'elemento corrispondente in non richiede che input contenga un offset, l'offset dell' styles oggetto risultante DateTimeOffset dipende dal valore del parametro.If the matched element in formats does not require that input contain an offset, the offset of the resulting DateTimeOffset object depends on the value of the styles parameter. Se styles DateTimeOffset include AssumeLocal, l'offset del fuso orario locale viene assegnato all'oggetto.If styles includes AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Se styles DateTimeOffset include AssumeUniversal, l'offset UTC (Coordinated Universal Time) o + 00:00 viene assegnato all'oggetto.If styles includes AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Se non viene specificato alcun valore, viene utilizzato l'offset del fuso orario locale.If neither value is specified, the offset of the local time zone is used.

I simboli e le stringhe di data e ora specifici input usati in sono definiti formatProvider dal parametro.The particular date and time symbols and strings used in input are defined by the formatProvider parameter. Lo stesso vale per il formato preciso di input, se l'elemento corrispondente di formats è una stringa dell'identificatore di formato standard.The same is true for the precise format of input, if the matching element of formats is a standard format specifier string. Il formatProvider parametro può essere uno dei seguenti:The formatProvider parameter can be either of the following:

Se formatprovider CultureInfo è null, viene utilizzato l'oggetto che corrisponde alle impostazioni cultura correnti.If formatprovider is null, the CultureInfo object that corresponds to the current culture is used.

Il styles parametro definisce se nella stringa di input è consentito lo spazio vuoto, indica il modo in cui vengono analizzate le stringhe senza un componente di offset esplicito e supporta la conversione UTC come parte dell'operazione di analisi.The styles parameter defines whether white space is permitted in the input string, indicates how strings without an explicit offset component are parsed, and supports UTC conversion as part of the parsing operation. Tutti i membri dell' DateTimeStyles enumerazione sono supportati eccetto NoCurrentDateDefault.All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Nella tabella seguente sono elencati gli effetti di ogni membro supportato.The following table lists the effect of each supported member.

MembroDateTimeStylesDateTimeStyles member ComportamentoBehavior
AdjustToUniversal input Analizza e, se necessario, lo converte in formato UTC.Parses input and, if necessary, converts it to UTC. Equivale all'analisi di una stringa, quindi alla DateTimeOffset.ToUniversalTime chiamata del metodo dell'oggetto restituito. DateTimeOffsetIt is equivalent to parsing a string, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object.
AssumeLocal Se l'elemento corrispondente in formats non richiede che input contenga un valore di offset, all'oggetto DateTimeOffset restituito viene assegnato l'offset del fuso orario locale.If the matched element in formats does not require that input contain an offset value, the returned DateTimeOffset object is given the offset of the local time zone. Rappresenta il valore predefinito.This is the default value.
AssumeUniversal Se l'elemento corrispondente in formats non richiede che input contenga un valore di offset, all'oggetto DateTimeOffset restituito viene assegnato l'offset UTC (+ 00:00).If the matched element in formats does not require that input contain an offset value, the returned DateTimeOffset object is given the UTC offset (+00:00).
AllowInnerWhite Consente input di includere spazi vuoti interni non specificati da format.Allows input to include inner white space not specified by format. Gli spazi vuoti aggiuntivi possono essere visualizzati tra i componenti di data e ora e all'interno di singoli componenti (ad eccezione dell'offset) e vengono ignorati durante l'analisi della stringa.Extra white space can appear between date and time components and within individual components (except the offset), and is ignored when parsing the string.
AllowLeadingWhite Consente input di includere gli spazi iniziali non specificati formatsda.Allows input to include leading spaces not specified by formats. Questi vengono ignorati durante l'analisi della stringa.These are ignored when parsing the string.
AllowTrailingWhite Consente input di includere gli spazi finali non specificati da formats.Allows input to include trailing spaces not specified by formats. Questi vengono ignorati durante l'analisi della stringa.These are ignored when parsing the string.
AllowWhiteSpaces Consente input di includere spazi iniziali, finali e interni non specificati da formats.Allows input to include leading, trailing, and inner spaces not specified by formats. Tutti gli spazi vuoti aggiuntivi non specificati nell'elemento corrispondente in formats vengono ignorati durante l'analisi della stringa.All extra white-space characters not specified in the matched element in formats are ignored when parsing the string.
None Indica che non sono consentiti spazi vuoti inputaggiuntivi in.Indicates that additional white space is not permitted in input. Gli spazi vuoti devono essere visualizzati esattamente come specificato in un particolare formats elemento di affinché si verifichi una corrispondenza.White space must appear exactly as specified in a particular element of formats for a match to occur. Comportamento predefinito.This is the default behavior.
RoundtripKind Non ha alcun effetto perché DateTimeOffset la struttura non include una Kind proprietà.Has no effect because the DateTimeOffset structure does not include a Kind property.

Note per i chiamanti

In, il ParseExact metodo genera un' FormatException eccezione se la stringa da analizzare contiene un componente relativo all'ora e un indicatore AM/PM non conforme. .NET Framework 4.NET Framework 4In the .NET Framework 4.NET Framework 4, the ParseExact method throws a FormatException if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. .NET Framework 3.5.NET Framework 3.5 In e versioni precedenti, l'indicatore AM/PM viene ignorato.In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.

Vedi anche

ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles) ParseExact(String, String, IFormatProvider, DateTimeStyles)

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.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Il formato della rappresentazione di stringa deve corrispondere esattamente al formato specificato.The format of the string representation must match the specified format exactly.

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

Parametri

input
String String String String

Stringa che contiene una data e un'ora da convertire.A string that contains a date and time to convert.

format
String String String String

Identificatore di formato che definisce il formato previsto di input.A format specifier that defines the expected format of input.

formatProvider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a input.An object that supplies culture-specific formatting information about input.

styles
DateTimeStyles DateTimeStyles DateTimeStyles DateTimeStyles

Combinazione bit per bit di valori di enumerazione che indica il formato consentito di input.A bitwise combination of enumeration values that indicates the permitted format of input.

Restituisce

Oggetto equivalente alla data e all'ora contenute nel parametro input, come specificato dai parametri format, formatProvider e styles.An object that is equivalent to the date and time that is contained in the input parameter, as specified by the format, formatProvider, and styles parameters.

Eccezioni

L'offset è maggiore di 14 ore o minore di -14 ore.The offset is greater than 14 hours or less than -14 hours.

-oppure--or- Il parametro styles include un valore non supportato.The styles parameter includes an unsupported value.

In alternativa-or- Il parametro styles contiene valori DateTimeStyles che non possono essere usati insieme.The styles parameter contains DateTimeStyles values that cannot be used together.

input è null.input is null.

-oppure--or- format è null.format is null.

input è una stringa vuota ("").input is an empty string ("").

In alternativa-or- input non contiene una rappresentazione di stringa valida per data e ora.input does not contain a valid string representation of a date and time.

In alternativa-or- Il parametro format è una stringa vuota.format is an empty string.

-oppure--or- Il componente relativo alle ore e l'identificatore AM/PM in input non corrispondono.The hour component and the AM/PM designator in input do not agree.

Esempi

Nell'esempio seguente viene utilizzato DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) il metodo con identificatori di formato standard e personalizzati, le impostazioni cultura invarianti e diversi DateTimeStyles valori per analizzare diverse stringhe di data e ora.The following example uses the DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) method with standard and custom format specifiers, the invariant culture, and various DateTimeStyles values to parse several date and time strings.

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

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

// Parse date-only value with leading white space.
// Should throw a FormatException because only trailing white space is  
// specified in method call.
dateString = " 06/15/2008";
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider, 
                                      DateTimeStyles.AllowTrailingWhite);
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
}   
catch (FormatException)
{
   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";
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider, 
                                      DateTimeStyles.AllowWhiteSpaces);
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
}   
catch (FormatException)
{
   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"; 
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider, 
                                      DateTimeStyles.AllowWhiteSpaces |
                                      DateTimeStyles.AdjustToUniversal);
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
}
catch (FormatException)
{
   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.
Dim dateString, format As String  
Dim result As DateTimeOffset
Dim provider As CultureInfo = CultureInfo.InvariantCulture

' Parse date-only value with invariant culture and assume time is UTC.
dateString = "06/15/2008"
format = "d"
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider, _
                                      DateTimeStyles.AssumeUniversal)
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("'{0}' is not in the correct format.", dateString)
End Try 

' Parse date-only value with leading white space.
' Should throw a FormatException because only trailing white space is  
' specified in method call.
dateString = " 06/15/2008"
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider, _
                                      DateTimeStyles.AllowTrailingWhite)
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("'{0}' is not in the correct format.", dateString)
End Try 

' 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"
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider, _
                                      DateTimeStyles.AllowWhiteSpaces)
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("'{0}' is not in the correct format.", dateString)
End Try 

' 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"       
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider, _
                                      DateTimeStyles.AllowWhiteSpaces Or _
                                      DateTimeStyles.AdjustToUniversal)
   Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("'{0}' is not in the correct format.", dateString)
End Try 
' 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.

Nell'esempio seguente viene usata un'ampia DateTimeStyles gamma di valori per analizzare una matrice di stringhe che dovrebbero essere conformi allo standard ISO 8601.The following example uses a variety of DateTimeStyles values to parse an array of strings that are expected to conform to ISO 8601. Come illustrato nell'output dell'esempio, le stringhe nel formato corretto non vengono analizzate se:As the output from the example shows, strings that are in the proper format fail to parse if:

Si presuppone che le stringhe che non specificano un offset UTC abbiano l'offset del fuso orario locale (in questo caso,-07:00), a meno DateTimeStyles.AssumeUniversal che il flag non venga specificato nella chiamata al metodo.Strings that do not specify a UTC offset are assumed to have the offset of the local time zone (in this case, -07:00) unless the DateTimeStyles.AssumeUniversal flag is supplied in the method call. In tal caso, si presuppone che sia tempo coordinato universale.In that case, they are assumed to be Universal Coordinated Time.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] dateStrings = { "2018-08-18T12:45:16.0000000Z",
                               "2018/08/18T12:45:16.0000000Z",
                               "2018-18-08T12:45:16.0000000Z",
                               "2018-08-18T12:45:16.0000000",                               
                               " 2018-08-18T12:45:16.0000000Z ",
                               "2018-08-18T12:45:16.0000000+02:00",
                               "2018-08-18T12:45:16.0000000-07:00" }; 
      
      ParseWithISO8601(dateStrings, DateTimeStyles.None);
      Console.WriteLine("\n-----\n");
      ParseWithISO8601(dateStrings, DateTimeStyles.AllowWhiteSpaces);
      Console.WriteLine("\n-----\n");
      ParseWithISO8601(dateStrings, DateTimeStyles.AdjustToUniversal);
      Console.WriteLine("\n-----\n");
      ParseWithISO8601(dateStrings, DateTimeStyles.AssumeLocal);
      Console.WriteLine("\n-----\n");
      ParseWithISO8601(dateStrings, DateTimeStyles.AssumeUniversal);   }

   private static void ParseWithISO8601(string[] dateStrings, DateTimeStyles styles)
   {   
      Console.WriteLine($"Parsing with {styles}:");
      foreach (var dateString in dateStrings)
      {
         try {
            var date = DateTimeOffset.ParseExact(dateString, "O", null, styles);
            Console.WriteLine($"   {dateString,-35} --> {date:yyyy-MM-dd HH:mm:ss.FF zzz}");
         }
         catch (FormatException)
         {
            Console.WriteLine($"   FormatException: Unable to convert '{dateString}'");
         }   
      } 
   }
}
// The example displays the following output:
//      Parsing with None:
//         2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
//         FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
//         FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
//         2018-08-18T12:45:16.0000000         --> 2018-08-18 12:45:16 -07:00
//         FormatException: Unable to convert ' 2018-08-18T12:45:16.0000000Z '
//         2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 12:45:16 +02:00
//         2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 12:45:16 -07:00
//
//      -----
//
//      Parsing with AllowWhiteSpaces:
//         2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
//         FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
//         FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
//         2018-08-18T12:45:16.0000000         --> 2018-08-18 12:45:16 -07:00
//         2018-08-18T12:45:16.0000000Z       --> 2018-08-18 12:45:16 +00:00
//         2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 12:45:16 +02:00
//         2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 12:45:16 -07:00
//
//      -----
//
//      Parsing with AdjustToUniversal:
//         2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
//         FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
//         FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
//         2018-08-18T12:45:16.0000000         --> 2018-08-18 19:45:16 +00:00
//         FormatException: Unable to convert ' 2018-08-18T12:45:16.0000000Z '
//         2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 10:45:16 +00:00
//         2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 19:45:16 +00:00
//
//      -----
//
//      Parsing with AssumeLocal:
//         2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
//         FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
//         FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
//         2018-08-18T12:45:16.0000000         --> 2018-08-18 12:45:16 -07:00
//         FormatException: Unable to convert ' 2018-08-18T12:45:16.0000000Z '
//         2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 12:45:16 +02:00
//         2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 12:45:16 -07:00
//
//      -----
//
//      Parsing with AssumeUniversal:
//         2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
//         FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
//         FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
//         2018-08-18T12:45:16.0000000         --> 2018-08-18 12:45:16 +00:00
//         FormatException: Unable to convert ' 2018-08-18T12:45:16.0000000Z '
//         2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 12:45:16 +02:00
//         2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 12:45:16 -07:00
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim dateStrings() = { "2018-08-18T12:45:16.0000000Z",
                            "2018/08/18T12:45:16.0000000Z",
                            "2018-18-08T12:45:16.0000000Z",
                            "2018-08-18T12:45:16.0000000",                               
                            " 2018-08-18T12:45:16.0000000Z ",
                            "2018-08-18T12:45:16.0000000+02:00",
                            "2018-08-18T12:45:16.0000000-07:00" } 
      
      ParseWithISO8601(dateStrings, DateTimeStyles.None)
      Console.WriteLine($"{vbCrLf}-----{vbCrLf}")
      ParseWithISO8601(dateStrings, DateTimeStyles.AllowWhiteSpaces)
      Console.WriteLine($"{vbCrLf}-----{vbCrLf}")
      ParseWithISO8601(dateStrings, DateTimeStyles.AdjustToUniversal)
      Console.WriteLine($"{vbCrLf}-----{vbCrLf}")
      ParseWithISO8601(dateStrings, DateTimeStyles.AssumeLocal)
      Console.WriteLine($"{vbCrLf}-----{vbCrLf}")
      ParseWithISO8601(dateStrings, DateTimeStyles.AssumeUniversal)   
   End Sub

   Private Sub ParseWithISO8601(dateStrings() As String, styles As DateTimeStyles)
      Console.WriteLine($"Parsing with {styles}:")
      For Each dateStr In dateStrings
         Try 
            Dim dat = DateTimeOffset.ParseExact(dateString, "O", Nothing, styles)
            Console.WriteLine($"   {dateString,-35} --> {dat:yyyy-MM-dd HH:mm:ss.FF zzz}")
         catch e As FormatException
            Console.WriteLine($"   FormatException: Unable to convert '{dateString}'")
         End Try   
      Next 
   End Sub
End Module
' The example displays the following output:
'      Parsing with None:
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'
'      -----
'
'      Parsing with AllowWhiteSpaces:
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'
'      -----
'
'      Parsing with AdjustToUniversal:
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'
'      -----
'
'      Parsing with AssumeLocal:
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'
'      -----
'
'      Parsing with AssumeUniversal:
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'
'         FormatException: Unable to convert '07-30-2018'

Commenti

Il DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) metodo analizza la rappresentazione di stringa di una data, che deve essere nel formato definito format dal parametro.The DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) method parses the string representation of a date, which must be in the format defined by the format parameter. Richiede anche che <gli elementi data >, <Time > e <offset > della rappresentazione di stringa di una data e di un'ora vengano visualizzati nell'ordine specificato da format.It also requires that the <Date>, <Time>, and <Offset> elements of the string representation of a date and time appear in the order specified by format. Se la input stringa non corrisponde al modello format del parametro, con le varianti definite dal styles parametro, il metodo genera un' FormatExceptioneccezione.If the input string does not match the pattern of the format parameter, with any variations defined by the styles parameter, the method throws a FormatException. Al contrario, il DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) metodo analizza la rappresentazione di stringa di una data in uno dei formati riconosciuti dall' DateTimeFormatInfo oggetto del provider di formato.In contrast, the DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) method parses the string representation of a date in any one of the formats recognized by the format provider's DateTimeFormatInfo object. Parseconsente inoltre di <visualizzare in qualsiasi <ordine gli elementi data <>, Time > e offset > della rappresentazione di stringa di una data e di un'ora.Parse also allows the <Date>, <Time>, and <Offset> elements of the string representation of a date and time to appear in any order.

Il format parametro è una stringa che contiene un singolo identificatore input di formato standard o uno o più identificatori di formato personalizzati che definiscono il modello obbligatorio del parametro.The format parameter is a string that contains either a single standard format specifier or one or more custom format specifiers that define the required pattern of the input parameter. Per informazioni dettagliate sui codici di formattazione validi, vedere stringhe di formato di data e ora standard e stringhe di formato di data e ora personalizzate.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Se format include gli zidentificatori di zzz formato personalizzati, zzo per indicare che un offset deve essere presente in input, tale offset deve includere un segno negativo o un segno positivo.If format includes the z, zz, or zzz custom format specifiers to indicate that an offset must be present in input, that offset must include either a negative sign or a positive sign. Se il segno è mancante, il metodo genera un' FormatExceptioneccezione.If the sign is missing, the method throws a FormatException.

Se format richiede che input contengono una data, ma non un'ora, all' DateTimeOffset oggetto risultante viene assegnata un'ora della mezzanotte (0:00:00).If format requires that input contain a date but not a time, the resulting DateTimeOffset object is assigned a time of midnight (0:00:00). Se format richiede che input contengono un'ora ma non una data, all'oggetto DateTimeOffset risultante viene assegnata la data corrente nel sistema locale.If format requires that input contain a time but not a date, the resulting DateTimeOffset object is assigned the current date on the local system. Se format non richiede che input contengano un offset, l'offset dell' styles oggetto DateTimeOffset risultante dipende dal valore del parametro.If format does not require that input contain an offset, the offset of the resulting DateTimeOffset object depends on the value of the styles parameter. Se styles DateTimeOffset include AssumeLocal, l'offset del fuso orario locale viene assegnato all'oggetto.If styles includes AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Se styles DateTimeOffset include AssumeUniversal, l'offset UTC (Coordinated Universal Time) o + 00:00 viene assegnato all'oggetto.If styles includes AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Se non viene specificato alcun valore, viene utilizzato l'offset del fuso orario locale.If neither value is specified, the offset of the local time zone is used.

I simboli e le stringhe di data e ora specifici input usati in sono definiti formatProvider dal parametro.The particular date and time symbols and strings used in input are defined by the formatProvider parameter. Lo stesso vale per il formato preciso di input, se format è una stringa dell'identificatore di formato standard.The same is true for the precise format of input, if format is a standard format specifier string. Il formatProvider parametro può essere uno dei seguenti:The formatProvider parameter can be either of the following:

Se formatprovider CultureInfo è null, viene utilizzato l'oggetto che corrisponde alle impostazioni cultura correnti.If formatprovider is null, the CultureInfo object that corresponds to the current culture is used.

Il styles parametro definisce se nella stringa di input è consentito lo spazio vuoto, indica il modo in cui vengono analizzate le stringhe senza un componente di offset esplicito e supporta la conversione UTC come parte dell'operazione di analisi.The styles parameter defines whether white space is allowed in the input string, indicates how strings without an explicit offset component are parsed, and supports UTC conversion as part of the parsing operation. Tutti i membri dell' DateTimeStyles enumerazione sono supportati eccetto NoCurrentDateDefault.All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Nella tabella seguente sono elencati gli effetti di ogni membro supportato.The following table lists the effect of each supported member.

MembroDateTimeStylesDateTimeStyles member ComportamentoBehavior
AdjustToUniversal input Analizza e, se necessario, lo converte in formato UTC.Parses input and, if necessary, converts it to UTC. Equivale all'analisi di una stringa, quindi alla DateTimeOffset.ToUniversalTime chiamata del metodo dell'oggetto restituito. DateTimeOffsetIt is equivalent to parsing a string, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object.
AssumeLocal Se format non richiede che input contengano un valore di offset, DateTimeOffset all'oggetto restituito viene assegnato l'offset del fuso orario locale.If format does not require that input contain an offset value, the returned DateTimeOffset object is given the offset of the local time zone. Rappresenta il valore predefinito.This is the default value.
AssumeUniversal Se format non richiede che input contengano un valore di offset, DateTimeOffset all'oggetto restituito viene assegnato l'offset UTC (+ 00:00).If format does not require that input contain an offset value, the returned DateTimeOffset object is given the UTC offset (+00:00).
AllowInnerWhite Consente input di includere spazi vuoti interni non specificati da format.Allows input to include inner white space not specified by format. Gli spazi vuoti aggiuntivi possono essere visualizzati tra i componenti di data e ora e all'interno di singoli componenti e vengono ignorati durante l'analisi della stringa.Extra white space can appear between date and time components and within individual components, and is ignored when parsing the string.
AllowLeadingWhite Consente input di includere gli spazi iniziali non specificati formatda.Allows input to include leading spaces not specified by format. Questi vengono ignorati durante l'analisi della stringa.These are ignored when parsing the string.
AllowTrailingWhite Consente input di includere gli spazi finali non specificati da format.Allows input to include trailing spaces not specified by format. Questi vengono ignorati durante l'analisi della stringa.These are ignored when parsing the string.
AllowWhiteSpaces Consente input di includere spazi iniziali, finali e interni non specificati da format.Allows input to include leading, trailing, and inner spaces not specified by format. Tutti gli spazi vuoti aggiuntivi non specificati in format vengono ignorati durante l'analisi della stringa.All extra white-space characters not specified in format are ignored when parsing the string.
None Indica che non sono consentiti spazi vuoti inputaggiuntivi in.Indicates that additional white space is not permitted in input. Gli spazi vuoti devono essere visualizzati esattamente come formatspecificato in.White space must appear exactly as specified in format. Comportamento predefinito.This is the default behavior.
RoundtripKind Non ha alcun effetto perché DateTimeOffset la struttura non include una Kind proprietà.Has no effect because the DateTimeOffset structure does not include a Kind property.

Note per i chiamanti

In, il ParseExact metodo genera un' FormatException eccezione se la stringa da analizzare contiene un componente relativo all'ora e un indicatore AM/PM non conforme. .NET Framework 4.NET Framework 4In the .NET Framework 4.NET Framework 4, the ParseExact method throws a FormatException if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. .NET Framework 3.5.NET Framework 3.5 In e versioni precedenti, l'indicatore AM/PM viene ignorato.In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.

Vedi anche

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

Converte un intervallo di caratteri che rappresenta una data e un'ora nell'oggetto DateTimeOffset equivalente usando il formato, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati.Converts a character span that represents a date and time to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Il formato della rappresentazione di data e ora deve corrispondere esattamente al formato specificato.The format of the date and time representation must match the specified format exactly.

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

Parametri

input
ReadOnlySpan<Char>

Intervallo di caratteri che rappresenta una data e ora.A character span that represents a date and time.

format
ReadOnlySpan<Char>

Intervallo di caratteri che contiene un identificatore di formato che definisce il formato previsto di input.A character span that contains a format specifier that defines the expected format of input.

formatProvider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relative a input.An object that provides culture-specific formatting information about input.

styles
DateTimeStyles DateTimeStyles DateTimeStyles DateTimeStyles

Combinazione bit per bit di valori di enumerazione che indica il formato consentito di input.A bitwise combination of enumeration values that indicates the permitted format of input.

Restituisce

Oggetto equivalente alla data e all'ora contenute nel parametro input, come specificato dai parametri format, formatProvider e styles.An object that is equivalent to the date and time that is contained in the input parameter, as specified by the format, formatProvider, and styles parameters.

Eccezioni

L'offset è maggiore di 14 ore o minore di -14 ore.The offset is greater than 14 hours or less than -14 hours.
-oppure--or-
Il parametro styles include un valore non supportato.The styles parameter includes an unsupported value.
-oppure--or-
Il parametro styles contiene valori DateTimeStyles che non possono essere usati insieme.The styles parameter contains DateTimeStyles values that cannot be used together.

input è un intervallo di caratteri vuoto.input is an empty character span.
-oppure- input non contiene una rappresentazione di stringa valida per data e ora.-or- input does not contain a valid string representation of a date and time.
-oppure- format è un intervallo di caratteri vuoto.-or- format is an empty character span.
-oppure--or-
Il componente relativo alle ore e l'identificatore AM/PM in input non corrispondono.The hour component and the AM/PM designator in input do not agree.

Commenti

Questo metodo analizza un intervallo di caratteri che rappresenta una data, che deve essere nel formato definito dal format parametro.This method parses a character span that represents a date, which must be in the format defined by the format parameter. Richiede anche che <gli elementi data >, <Time > e <offset > della rappresentazione di stringa di una data e di un'ora vengano visualizzati nell'ordine specificato da format.It also requires that the <Date>, <Time>, and <Offset> elements of the string representation of a date and time appear in the order specified by format. Se input non corrisponde al format modello, il metodo genera un' FormatExceptioneccezione.If input does not match the format pattern, the method throws a FormatException. Al contrario, il DateTimeOffset.Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) metodo analizza la rappresentazione di stringa di una data in uno dei formati riconosciuti dall' DateTimeFormatInfo oggetto del provider di formato.In contrast, the DateTimeOffset.Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) method parses the string representation of a date in any one of the formats recognized by the format provider's DateTimeFormatInfo object. Parseconsente inoltre di <visualizzare in qualsiasi <ordine gli elementi data <>, Time > e offset > della rappresentazione di stringa di una data e di un'ora.Parse also allows the <Date>, <Time>, and <Offset> elements of the string representation of a date and time to appear in any order.

Il format parametro è un intervallo di caratteri che contiene un identificatore di formato standard a carattere singolo o uno o più identificatori di formato personalizzati che definiscono il formato richiesto input per il parametro.The format parameter is a character span that contains either a single-character standard format specifier or one or more custom format specifiers that define the required format of the input parameter. Per informazioni dettagliate sui codici di formattazione validi, vedere stringhe di formato di data e ora standard e stringhe di formato di data e ora personalizzate.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Se format include gli zidentificatori di zzz formato personalizzati, zzo per indicare che un offset deve essere presente in input, tale offset deve includere un segno negativo o un segno positivo.If format includes the z, zz, or zzz custom format specifiers to indicate that an offset must be present in input, that offset must include either a negative sign or a positive sign. Se il segno è mancante, il metodo genera un' FormatExceptioneccezione.If the sign is missing, the method throws a FormatException.

Se format richiede che input contengono una data, ma non un'ora, all' DateTimeOffset oggetto risultante viene assegnata un'ora della mezzanotte (0:00:00).If format requires that input contain a date but not a time, the resulting DateTimeOffset object is assigned a time of midnight (0:00:00). Se format richiede che input contengono un'ora ma non una data, all'oggetto DateTimeOffset risultante viene assegnata la data corrente nel sistema locale.If format requires that input contain a time but not a date, the resulting DateTimeOffset object is assigned the current date on the local system. Se format non richiede che input contenga un offset, all'oggetto DateTimeOffset risultante viene assegnata la differenza di fuso orario del sistema locale.If format does not require that input contain an offset, the resulting DateTimeOffset object is assigned the time zone offset of the local system.

I simboli e le stringhe di data e ora specifici input usati in sono definiti formatProvider dal parametro, così come è il formato input preciso format di se è un identificatore di formato standard.The particular date and time symbols and strings used in input are defined by the formatProvider parameter, as is the precise format of input if format is a standard format specifier. Il formatProvider parametro può essere uno dei seguenti:The formatProvider parameter can be either of the following:

Se formatprovider CultureInfo è null, viene utilizzato l'oggetto che corrisponde alle impostazioni cultura correnti.If formatprovider is null, the CultureInfo object that corresponds to the current culture is used.

ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider)

Converte una determinata rappresentazione di stringa di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente usando il formato specificato e le informazioni sul formato relative alle impostazioni cultura specificate.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified format and culture-specific format information. Il formato della rappresentazione di stringa deve corrispondere esattamente al formato specificato.The format of the string representation must match the specified format exactly.

public:
 static DateTimeOffset ParseExact(System::String ^ input, System::String ^ format, IFormatProvider ^ formatProvider);
public static DateTimeOffset ParseExact (string input, string format, IFormatProvider formatProvider);
static member ParseExact : string * string * IFormatProvider -> DateTimeOffset
Public Shared Function ParseExact (input As String, format As String, formatProvider As IFormatProvider) As DateTimeOffset

Parametri

input
String String String String

Stringa che contiene una data e un'ora da convertire.A string that contains a date and time to convert.

format
String String String String

Identificatore di formato che definisce il formato previsto di input.A format specifier that defines the expected format of input.

formatProvider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a input.An object that supplies culture-specific formatting information about input.

Restituisce

Oggetto equivalente alla data e all'ora contenute in input come specificato da format e formatProvider.An object that is equivalent to the date and time that is contained in input as specified by format and formatProvider.

Eccezioni

L'offset è maggiore di 14 ore o minore di -14 ore.The offset is greater than 14 hours or less than -14 hours.

input è null.input is null.

In alternativa-or- format è null.format is null.

input è una stringa vuota ("").input is an empty string ("").

-oppure--or- input non contiene una rappresentazione di stringa valida per data e ora.input does not contain a valid string representation of a date and time.

-oppure--or- Il parametro format è una stringa vuota.format is an empty string.

-oppure--or- Il componente relativo alle ore e l'identificatore AM/PM in input non corrispondono.The hour component and the AM/PM designator in input do not agree.

Esempi

Nell'esempio seguente viene utilizzato DateTimeOffset.ParseExact(String, String, IFormatProvider) il metodo con identificatori di formato standard e personalizzati e le impostazioni cultura invarianti per analizzare diverse stringhe di data e ora.The following example uses the DateTimeOffset.ParseExact(String, String, IFormatProvider) method with standard and custom format specifiers and the invariant culture to parse several date and time strings.

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

// Parse date-only value with invariant culture.
dateString = "06/15/2008";
format = "d";
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}   
catch (FormatException)
{
   Console.WriteLine("{0} is not in the correct format.", dateString);
} 

// Parse date-only value without leading zero in month using "d" format.
// Should throw a FormatException because standard short date pattern of 
// invariant culture requires two-digit month.
dateString = "6/15/2008";
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException)
{
   Console.WriteLine("{0} is not in the correct format.", dateString);
} 

// Parse date and time with custom specifier.
dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException)
{
   Console.WriteLine("{0} is not in the correct format.", dateString);
} 

// Parse date and time with offset without offset//s minutes.
// Should throw a FormatException because "zzz" specifier requires leading  
// zero in hours.
dateString = "Sun 15 Jun 2008 8:30 AM -06";
try
{
   result = DateTimeOffset.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException)
{
   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 -07:00.
//    6/15/2008 is not in the correct format.
//    Sun 15 Jun 2008 8:30 AM -06:00 converts to 6/15/2008 8:30:00 AM -06:00.
//    Sun 15 Jun 2008 8:30 AM -06 is not in the correct format.                     
Dim dateString, format As String  
Dim result As DateTimeOffset
Dim provider As CultureInfo = CultureInfo.InvariantCulture

' Parse date-only value with invariant culture.
dateString = "06/15/2008"
format = "d"
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider)
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("{0} is not in the correct format.", dateString)
End Try 

' Parse date-only value without leading zero in month using "d" format.
' Should throw a FormatException because standard short date pattern of 
' invariant culture requires two-digit month.
dateString = "6/15/2008"
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider)
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("{0} is not in the correct format.", dateString)
End Try 

' Parse date and time with custom specifier.
dateString = "Sun 15 Jun 2008 8:30 AM -06:00"
format = "ddd dd MMM yyyy h:mm tt zzz"        
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider)
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("{0} is not in the correct format.", dateString)
End Try 

' Parse date and time with offset without offset's minutes.
' Should throw a FormatException because "zzz" specifier requires leading  
' zero in hours.
dateString = "Sun 15 Jun 2008 8:30 AM -06"
Try
   result = DateTimeOffset.ParseExact(dateString, format, provider)
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString())
Catch e As FormatException
   Console.WriteLine("{0} is not in the correct format.", dateString)
End Try 
' The example displays the following output:
'    06/15/2008 converts to 6/15/2008 12:00:00 AM -07:00.
'    6/15/2008 is not in the correct format.
'    Sun 15 Jun 2008 8:30 AM -06:00 converts to 6/15/2008 8:30:00 AM -06:00.
'    Sun 15 Jun 2008 8:30 AM -06 is not in the correct format.                     

Nell'esempio seguente viene analizzata una matrice di stringhe che dovrebbero essere conformi allo standard ISO 8601.The following example parses an array of strings that are expected to conform to ISO 8601. Come illustrato nell'output dell'esempio, le stringhe con spazi iniziali o finali non vengono analizzate correttamente, così come le stringhe con elementi di data e ora che non rientrano nell'intervallo.As the output from the example shows, strings with leading or trailing spaces fail to parse successfully, as do strings with date and time elements that are out of range.

using System;

public class Example
{
   public static void Main()
   {
      string[] dateStrings = { "2018-08-18T12:45:16.0000000Z",
                               "2018/08/18T12:45:16.0000000Z",
                               "2018-18-08T12:45:16.0000000Z",
                               " 2018-08-18T12:45:16.0000000Z ",
                               "2018-08-18T12:45:16.0000000+02:00",
                               "2018-08-18T12:45:16.0000000-07:00" }; 
      
      foreach (var dateString in dateStrings)
      {
         try {
            var date = DateTimeOffset.ParseExact(dateString, "O", null);
            Console.WriteLine($"{dateString,-35} --> {date:yyyy-MM-dd HH:mm:ss.FF zzz}");
         }
         catch (FormatException)
         {
            Console.WriteLine($"FormatException: Unable to convert '{dateString}'");
         }   

      } 
   }
}
// The example displays the following output:
//      2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
//      FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
//      FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
//      FormatException: Unable to convert ' 2018-08-18T12:45:16.0000000Z '
//      2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 12:45:16 +02:00
//      2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 12:45:16 -07:00
Public Module Example
   Public Sub Main()
      Dim dateStrings() As String = { "2018-08-18T12:45:16.0000000Z",
                                      "2018/08/18T12:45:16.0000000Z",
                                      "2018-18-08T12:45:16.0000000Z",
                                      " 2018-08-18T12:45:16.0000000Z ",
                                      "2018-08-18T12:45:16.0000000+02:00",
                                      "2018-08-18T12:45:16.0000000-07:00" } 
      
      For Each dateStr In dateStrings
         Try 
            Dim dat = DateTimeOffset.ParseExact(dateStr, "O", Nothing)
            Console.WriteLine($"{dateStr,-35} --> {dat:yyyy-MM-dd HH:mm:ss.FF zzz}")
         Catch  e As FormatException
            Console.WriteLine($"FormatException: Unable to convert '{dateStr}'")
         End Try   
      Next 
   End Sub
End Module
' The example displays the following output:
'      2018-08-18T12:45:16.0000000Z        --> 2018-08-18 12:45:16 +00:00
'      FormatException: Unable to convert '2018/08/18T12:45:16.0000000Z'
'      FormatException: Unable to convert '2018-18-08T12:45:16.0000000Z'
'      FormatException: Unable to convert ' 2018-08-18T12:45:16.0000000Z '
'      2018-08-18T12:45:16.0000000+02:00   --> 2018-08-18 12:45:16 +02:00
'      2018-08-18T12:45:16.0000000-07:00   --> 2018-08-18 12:45:16 -07:00

Commenti

Il ParseExact(String, String, IFormatProvider) metodo analizza la rappresentazione di stringa di una data, che deve essere nel formato definito format dal parametro.The ParseExact(String, String, IFormatProvider) method parses the string representation of a date, which must be in the format defined by the format parameter. Richiede anche che <gli elementi data >, <Time > e <offset > della rappresentazione di stringa di una data e di un'ora vengano visualizzati nell'ordine specificato da format.It also requires that the <Date>, <Time>, and <Offset> elements of the string representation of a date and time appear in the order specified by format. Se la input stringa non corrisponde a questo format parametro, il metodo genera un' FormatExceptioneccezione.If the input string does not match this format parameter, the method throws a FormatException. Al contrario, il DateTimeOffset.Parse(String, IFormatProvider) metodo analizza la rappresentazione di stringa di una data in uno dei formati riconosciuti dall' DateTimeFormatInfo oggetto del provider di formato.In contrast, the DateTimeOffset.Parse(String, IFormatProvider) method parses the string representation of a date in any one of the formats recognized by the format provider's DateTimeFormatInfo object. Parseconsente inoltre di <visualizzare in qualsiasi <ordine gli elementi data <>, Time > e offset > della rappresentazione di stringa di una data e di un'ora.Parse also allows the <Date>, <Time>, and <Offset> elements of the string representation of a date and time to appear in any order.

Il format parametro è una stringa che contiene un singolo identificatore di formato standard o uno o più identificatori di formato personalizzati che definiscono il formato richiesto per input il parametro.The format parameter is a string that contains either a single standard format specifier or one or more custom format specifiers that define the required format of the input parameter. Per informazioni dettagliate sui codici di formattazione validi, vedere stringhe di formato di data e ora standard e stringhe di formato di data e ora personalizzate.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Se format include gli zidentificatori di zzz formato personalizzati, zzo per indicare che un offset deve essere presente in input, tale offset deve includere un segno negativo o un segno positivo.If format includes the z, zz, or zzz custom format specifiers to indicate that an offset must be present in input, that offset must include either a negative sign or a positive sign. Se il segno è mancante, il metodo genera un' FormatExceptioneccezione.If the sign is missing, the method throws a FormatException.

Se format richiede che input contengono una data, ma non un'ora, all' DateTimeOffset oggetto risultante viene assegnata un'ora della mezzanotte (0:00:00).If format requires that input contain a date but not a time, the resulting DateTimeOffset object is assigned a time of midnight (0:00:00). Se format richiede che input contengono un'ora ma non una data, all'oggetto DateTimeOffset risultante viene assegnata la data corrente nel sistema locale.If format requires that input contain a time but not a date, the resulting DateTimeOffset object is assigned the current date on the local system. Se format non richiede che input contenga un offset, all'oggetto DateTimeOffset risultante viene assegnata la differenza di fuso orario del sistema locale.If format does not require that input contain an offset, the resulting DateTimeOffset object is assigned the time zone offset of the local system.

I simboli e le stringhe di data e ora specifici input usati in sono definiti formatProvider dal parametro, così come è il formato input preciso format di se è una stringa dell'identificatore di formato standard.The particular date and time symbols and strings used in input are defined by the formatProvider parameter, as is the precise format of input if format is a standard format specifier string. Il formatProvider parametro può essere uno dei seguenti:The formatProvider parameter can be either of the following:

Se formatprovider CultureInfo è null, viene utilizzato l'oggetto che corrisponde alle impostazioni cultura correnti.If formatprovider is null, the CultureInfo object that corresponds to the current culture is used.

Note per i chiamanti

In, il ParseExact metodo genera un' FormatException eccezione se la stringa da analizzare contiene un componente relativo all'ora e un indicatore AM/PM non conforme. .NET Framework 4.NET Framework 4In the .NET Framework 4.NET Framework 4, the ParseExact method throws a FormatException if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. .NET Framework 3.5.NET Framework 3.5 In e versioni precedenti, l'indicatore AM/PM viene ignorato.In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.

Vedi anche

ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles)

Converte un intervallo di caratteri che contiene la rappresentazione stringa di una data e di un'ora nel relativo oggetto DateTimeOffset equivalente usando i formati, le informazioni sul formato specifiche delle impostazioni cultura e lo stile specificati.Converts a character span that contains the string representation of a date and time to its DateTimeOffset equivalent using the specified formats, culture-specific format information, and style. Il formato della rappresentazione di data e ora deve corrispondere esattamente a uno dei formati specificati.The format of the date and time representation must match one of the specified formats exactly.

public static DateTimeOffset ParseExact (ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
static member ParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function ParseExact (input As ReadOnlySpan(Of Char), formats As String(), formatProvider As IFormatProvider, Optional styles As DateTimeStyles = System.Globalization.DateTimeStyles.None) As DateTimeOffset

Parametri

input
ReadOnlySpan<Char>

Intervallo di caratteri contenente una data e un'ora da convertire.A character span that contains a date and time to convert.

formats
String[]

Matrice di identificatori di formato che definiscono i formati previsti di input.An array of format specifiers that define the expected formats of input.

formatProvider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura relativamente a input.An object that supplies culture-specific formatting information about input.

styles
DateTimeStyles DateTimeStyles DateTimeStyles DateTimeStyles

Combinazione bit per bit di valori di enumerazione che indica il formato consentito di input.A bitwise combination of enumeration values that indicates the permitted format of input.

Restituisce

Oggetto equivalente alla data e all'ora contenute nel parametro input, come specificato dai parametri formats, formatProvider e styles.An object that is equivalent to the date and time that is contained in the input parameter, as specified by the formats, formatProvider, and styles parameters.

Eccezioni

L'offset è maggiore di 14 ore o minore di -14 ore.The offset is greater than 14 hours or less than -14 hours.
-oppure- styles include un valore non supportato.-or- styles includes an unsupported value.
In alternativa-or-
Il parametro styles contiene valori DateTimeStyles che non possono essere usati insieme.The styles parameter contains DateTimeStyles values that cannot be used together.

input è un intervallo di caratteri vuoto.input is an empty character span.
-oppure- input non contiene una rappresentazione di stringa valida per data e ora.-or- input does not contain a valid string representation of a date and time.
-oppure--or-
Nessun elemento di formats contiene un identificatore di formato valido.No element of formats contains a valid format specifier.
-oppure--or-
Il componente relativo alle ore e l'identificatore AM/PM in input non corrispondono.The hour component and the AM/PM designator in input do not agree.

Commenti

Questo metodo analizza un intervallo di caratteri che rappresenta una data corrispondente a uno dei modelli assegnati al formats parametro.This method parses a character span representing a date that matches any one of the patterns assigned to the formats parameter. Se input non corrisponde a uno di questi modelli con le varianti definite styles dal parametro, il metodo genera un' FormatExceptioneccezione.If input does not match any one of these patterns with any of the variations defined by the styles parameter, the method throws a FormatException. Oltre a confrontare input più modelli di formattazione, questo overload si comporta DateTimeOffset.ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) in modo identico al metodo.Aside from comparing input to multiple formatting patterns, this overload behaves identically to the DateTimeOffset.ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) method.

Il formats parametro è una matrice input di stringhe i cui elementi contengono un singolo identificatore di formato standard o uno o più identificatori di formato personalizzati che definiscono il modello possibile del parametro.The formats parameter is a string array whose elements contain either a single standard format specifier or one or more custom format specifiers that define the possible pattern of the input parameter. Quando viene chiamato il metodo, input deve corrispondere a uno di questi modelli.When the method is called, input must match one of these patterns. Per informazioni dettagliate sui codici di formattazione validi, vedere stringhe di formato di data e ora standard e stringhe di formato di data e ora personalizzate.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Se formats l'elemento corrispondente in include gli zidentificatori zzdi formato zzz personalizzati, o per indicare che deve essere presente un offset in input, tale offset deve includere un segno negativo o un segno positivo.If the matched element in formats includes the z, zz, or zzz custom format specifiers to indicate that an offset must be present in input, that offset must include either a negative sign or a positive sign. Se il segno è mancante, il metodo genera un' FormatExceptioneccezione.If the sign is missing, the method throws a FormatException.

Importante

L'uso formats del parametro di questo overload per specificare più formati può aiutare a ridurre la frustrazione di molti utenti durante l'immissione di date e ore.Using the formats parameter of this overload to specify multiple formats can help reduce the frustration many users experience when they enter dates and times. In particolare, la possibilità di definire più modelli di input consente a un'applicazione di gestire le rappresentazioni di data e ora che possono includere o mancano zeri iniziali in mesi, giorni, ore, minuti e secondi.In particular, the ability to define multiple input patterns enables an application to handle date and time representations that can either include or lack leading zeros in months, days, hours, minutes, and seconds.

Se per l'elemento corrispondente in formats è necessario input che contenga una data ma non un'ora, DateTimeOffset all'oggetto risultante viene assegnata un'ora della mezzanotte (0:00:00).If the matched element in formats requires that input contain a date but not a time, the resulting DateTimeOffset object is assigned a time of midnight (0:00:00). Se l'elemento corrispondente in formats richiede che input contengono un'ora ma non una data, all'oggetto risultante DateTimeOffset viene assegnata la data corrente nel sistema locale.If the matched element in formats requires that input contain a time but not a date, the resulting DateTimeOffset object is assigned the current date on the local system. Se formats l'elemento corrispondente in non richiede che input contenga un offset, l'offset dell' styles oggetto risultante DateTimeOffset dipende dal valore del parametro.If the matched element in formats does not require that input contain an offset, the offset of the resulting DateTimeOffset object depends on the value of the styles parameter. Se styles DateTimeOffset include AssumeLocal, l'offset del fuso orario locale viene assegnato all'oggetto.If styles includes AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Se styles DateTimeOffset include AssumeUniversal, l'offset UTC (Coordinated Universal Time) o + 00:00 viene assegnato all'oggetto.If styles includes AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Se non viene specificato alcun valore, viene utilizzato l'offset del fuso orario locale.If neither value is specified, the offset of the local time zone is used.

I simboli e le stringhe di data e ora specifici input usati in sono definiti formatProvider dal parametro.The particular date and time symbols and strings used in input are defined by the formatProvider parameter. Lo stesso vale per il formato preciso di input, se l'elemento corrispondente di formats è una stringa dell'identificatore di formato standard.The same is true for the precise format of input, if the matching element of formats is a standard format specifier string. Il formatProvider parametro può essere uno dei seguenti:The formatProvider parameter can be either of the following:

Se formatprovider CultureInfo è null, viene utilizzato l'oggetto che corrisponde alle impostazioni cultura correnti.If formatprovider is null, the CultureInfo object that corresponds to the current culture is used.

Il styles parametro definisce se nella stringa di input è consentito lo spazio vuoto, indica il modo in cui vengono analizzate le stringhe senza un componente di offset esplicito e supporta la conversione UTC come parte dell'operazione di analisi.The styles parameter defines whether white space is permitted in the input string, indicates how strings without an explicit offset component are parsed, and supports UTC conversion as part of the parsing operation. Tutti i membri dell' DateTimeStyles enumerazione sono supportati eccetto NoCurrentDateDefault.All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Nella tabella seguente sono elencati gli effetti di ogni membro supportato.The following table lists the effect of each supported member.

MembroDateTimeStylesDateTimeStyles member ComportamentoBehavior
AdjustToUniversal input Analizza e, se necessario, lo converte in formato UTC.Parses input and, if necessary, converts it to UTC. Equivale all'analisi di una stringa, quindi alla DateTimeOffset.ToUniversalTime chiamata del metodo dell'oggetto restituito. DateTimeOffsetIt is equivalent to parsing a string, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object.
AssumeLocal Se l'elemento corrispondente in formats non richiede che input contenga un valore di offset, all'oggetto DateTimeOffset restituito viene assegnato l'offset del fuso orario locale.If the matched element in formats does not require that input contain an offset value, the returned DateTimeOffset object is given the offset of the local time zone. Rappresenta il valore predefinito.This is the default value.
AssumeUniversal Se l'elemento corrispondente in formats non richiede che input contenga un valore di offset, all'oggetto DateTimeOffset restituito viene assegnato l'offset UTC (+ 00:00).If the matched element in formats does not require that input contain an offset value, the returned DateTimeOffset object is given the UTC offset (+00:00).
AllowInnerWhite Consente input di includere spazi vuoti interni non specificati da format.Allows input to include inner white space not specified by format. Gli spazi vuoti aggiuntivi possono essere visualizzati tra i componenti di data e ora e all'interno di singoli componenti (ad eccezione dell'offset) e vengono ignorati durante l'analisi della stringa.Extra white space can appear between date and time components and within individual components (except the offset), and is ignored when parsing the string.
AllowLeadingWhite Consente input di includere gli spazi iniziali non specificati formatsda.Allows input to include leading spaces not specified by formats. Questi vengono ignorati durante l'analisi della stringa.These are ignored when parsing the string.
AllowTrailingWhite Consente input di includere gli spazi finali non specificati da formats.Allows input to include trailing spaces not specified by formats. Questi vengono ignorati durante l'analisi della stringa.These are ignored when parsing the string.
AllowWhiteSpaces Consente input di includere spazi iniziali, finali e interni non specificati da formats.Allows input to include leading, trailing, and inner spaces not specified by formats. Tutti gli spazi vuoti aggiuntivi non specificati nell'elemento corrispondente in formats vengono ignorati durante l'analisi della stringa.All extra white-space characters not specified in the matched element in formats are ignored when parsing the string.
None Indica che non sono consentiti spazi vuoti inputaggiuntivi in.Indicates that additional white space is not permitted in input. Gli spazi vuoti devono essere visualizzati esattamente come specificato in un particolare formats elemento di affinché si verifichi una corrispondenza.White space must appear exactly as specified in a particular element of formats for a match to occur. Comportamento predefinito.This is the default behavior.
RoundtripKind Non ha alcun effetto perché DateTimeOffset la struttura non include una Kind proprietà.Has no effect because the DateTimeOffset structure does not include a Kind property.

Si applica a