DateTimeOffset.TryParseExact Méthode
Définition
Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTimeOffset.Converts the specified string representation of a date and time to its DateTimeOffset equivalent. Le format de la représentation sous forme de chaîne doit correspondre exactement à un format spécifié.The format of the string representation must match a specified format exactly.
Surcharges
TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) |
Convertit la représentation sous forme de chaîne spécifiée d'une date et heure en son équivalent DateTimeOffset à l'aide du tableau de formats, des informations et du style de format propres à la culture spécifiés.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified array of formats, culture-specific format information, and style. Le format de la représentation sous forme de chaîne doit correspondre exactement à l'un des formats spécifiés.The format of the string representation must match one of the specified formats exactly. |
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset) |
Convertit la représentation d’une date et d’une heure dans une étendue de caractères en DateTimeOffset équivalent à l’aide des informations et du style de format propres à la culture spécifiés.Converts the representation of a date and time in a character span to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Le format de la représentation de la date et de l’heure doit correspondre exactement au format spécifié.The format of the date and time representation must match the specified format exactly. |
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) |
Convertit la représentation d’une date et d’une heure dans une plage de caractères en DateTimeOffset équivalent à l’aide des informations et du style de format propres à la culture spécifiés.Converts the representation of a date and time in a character span to its DateTimeOffset equivalent using the specified formats, culture-specific format information, and style. Le format de la représentation de la date et de l’heure doit correspondre exactement à l'un des formats spécifiés.The format of the date and time representation must match one of the specified formats exactly. |
TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) |
Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTimeOffset équivalent à l'aide des informations et du style de format propres à la culture spécifiés.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Le format de la représentation sous forme de chaîne doit correspondre exactement au format spécifié.The format of the string representation must match the specified format exactly. |
TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset)
Convertit la représentation sous forme de chaîne spécifiée d'une date et heure en son équivalent DateTimeOffset à l'aide du tableau de formats, des informations et du style de format propres à la culture spécifiés.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified array of formats, culture-specific format information, and style. Le format de la représentation sous forme de chaîne doit correspondre exactement à l'un des formats spécifiés.The format of the string representation must match one of the specified formats exactly.
public:
static bool TryParseExact(System::String ^ input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParseExact (string input, string[] formats, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParseExact : string * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParseExact (input As String, formats As String(), formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean
Paramètres
- input
- String
Chaîne contenant une date et une heure à convertir.A string that contains a date and time to convert.
- formats
- String[]
Tableau qui définit les formats attendus de input
.An array that defines the expected formats of input
.
- formatProvider
- IFormatProvider
Objet qui fournit des informations de mise en forme propres à la culture sur input
.An object that supplies culture-specific formatting information about input
.
- styles
- DateTimeStyles
Combinaison de bits de valeurs d'énumération qui indique le format autorisé de l'entrée.A bitwise combination of enumeration values that indicates the permitted format of input. Une valeur typique à spécifier est None
.A typical value to specify is None
.
- result
- DateTimeOffset
Quand la méthode se termine, contient le DateTimeOffset équivalent à la date et à l’heure de input
si la conversion a réussi, ou MinValue si elle a échoué.When the method returns, contains the DateTimeOffset equivalent to the date and time of input
, if the conversion succeeded, or MinValue, if the conversion failed. La conversion échoue si input
ne contient pas de représentation sous forme de chaîne valide d’une date et d’une heure ou si elle ne contient pas la date et l’heure au format attendu défini par format
, ou si formats
a la valeur null
.The conversion fails if the input
does not contain a valid string representation of a date and time, or does not contain the date and time in the expected format defined by format
, or if formats
is null
. Ce paramètre est passé sans être initialisé.This parameter is passed uninitialized.
Retours
true
si la conversion du paramètre input
a réussi ; sinon, false
.true
if the input
parameter is successfully converted; otherwise, false
.
Exceptions
styles
inclut une valeur DateTimeStyles non définie.styles
includes an undefined DateTimeStyles value.
- ou --or- NoCurrentDateDefault n’est pas pris en charge.NoCurrentDateDefault is not supported.
- ou --or-
styles
inclut des valeurs DateTimeStyles qui s’excluent mutuellement.styles
includes mutually exclusive DateTimeStyles values.
Exemples
L’exemple suivant définit plusieurs formats d’entrée pour la représentation sous forme de chaîne d’une valeur de date et d’heure et de décalage, puis passe la chaîne entrée par l’utilisateur à la TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) méthode.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 TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) 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;
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();
if (DateTimeOffset.TryParseExact(input, formats, provider,
DateTimeStyles.AllowWhiteSpaces,
out result))
{
break;
}
else
{
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()
If DateTimeOffset.TryParseExact(input, formats, provider, _
DateTimeStyles.AllowWhiteSpaces, _
result) Then
Exit Do
Else
Console.WriteLine("Unable to parse {0}.", input)
tries += 1
End If
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
Remarques
La TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) méthode analyse la représentation sous forme de chaîne d’une date qui correspond à l’un des modèles assignés au formats
tableau.The TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) method parses the string representation of a date that matches any one of the patterns assigned to the formats
array. Si la input
chaîne ne correspond à aucun de ces modèles avec des variations définies par le styles
paramètre, l’opération d’analyse échoue et la méthode retourne false
.If the input
string does not match any one of these patterns with any variations defined by the styles
parameter, the parsing operation fails and the method returns false
. Hormis input
la comparaison à plusieurs chaînes qui contiennent des spécificateurs de format, cette surcharge se comporte de la même façon que la DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) méthode.Aside from comparing input
to multiple strings that contain format specifiers, this overload behaves identically to the DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) method.
Le formats
paramètre est un tableau de chaînes dont les éléments contiennent un spécificateur de format standard unique ou un ou plusieurs spécificateurs de format personnalisés qui définissent le modèle possible de input
.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 input
. Pour plus d’informations sur les codes de mise en forme valides, consultez chaînes de format de date et d’heure standard et chaînes de format de date et d’heure personnalisées.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Si l’élément correspondant dans formats
inclut les z
zz
zzz
spécificateurs de format personnalisés, ou pour indiquer qu’un offset doit être présent dans input
, cet offset doit inclure un signe négatif ou un signe positif.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. Si le signe est manquant, l’opération d’analyse échoue et la méthode retourne false
.If the sign is missing, the parse operation fails and the method returns false
.
Important
L’utilisation du formats
paramètre de cette surcharge pour spécifier plusieurs formats peut aider à réduire la frustration de nombreux utilisateurs lorsqu’ils entrent des dates et des heures.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. En particulier, la possibilité de définir plusieurs modèles d’entrée permet à une application de gérer des représentations de date et d’heure qui peuvent inclure ou manquer des zéros non significatifs dans les mois, les jours, les heures, les minutes et les secondes.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. L’exemple en fournit une illustration.The example provides an illustration of this.
Si l’élément correspondant dans formats
exige que input
contient une date mais pas une heure, l’objet obtenu DateTimeOffset reçoit une heure de minuit (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). Si l’élément correspondant dans formats
exige que l’entrée contienne une heure mais pas une date, l' DateTimeOffset objet obtenu reçoit la date actuelle sur le système local.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. Si l’élément correspondant dans formats
ne requiert pas que input
contienne un offset, le décalage de l' DateTimeOffset objet résultant dépend de la valeur du styles
paramètre.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. Si styles
comprend AssumeLocal , le décalage du fuseau horaire local est assigné à l' DateTimeOffset objet.If styles
includes AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Si styles
comprend AssumeUniversal , l’offset de temps universel coordonné (UTC, Coordinated Universal Time), ou + 00:00, est assigné à l' DateTimeOffset objet.If styles
includes AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Si aucune valeur n’est spécifiée, le décalage du fuseau horaire local est utilisé.If neither value is specified, the offset of the local time zone is used.
Les symboles et les chaînes de date et d’heure particuliers utilisés dans input
sont définis par le formatProvider
paramètre.The particular date and time symbols and strings used in input
are defined by the formatProvider
parameter. Il en va de même pour le modèle précis de input
si l’élément correspondant de formats
est une chaîne de spécificateur de format standard.The same is true for the precise pattern of input
if the matching element of formats
is a standard format specifier string. Le formatProvider
paramètre peut être l’un des suivants :The formatProvider
parameter can be either of the following:
CultureInfoObjet qui représente la culture basée sur laquelle
input
est interprété.A CultureInfo object that represents the culture based on whichinput
is interpreted. L' DateTimeFormatInfo objet retourné par la CultureInfo.DateTimeFormat propriété définit les symboles et la mise en forme dansinput
.The DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the symbols and formatting ininput
.DateTimeFormatInfoObjet qui définit le format des données de date et d’heure.A DateTimeFormatInfo object that defines the format of date and time data.
Si formatprovider
a null
la valeur, l' CultureInfo objet qui correspond à la culture actuelle est utilisé.If formatprovider
is null
, the CultureInfo object that corresponds to the current culture is used.
Le styles
paramètre définit si l’espace blanc est autorisé dans la chaîne d’entrée, indique comment les chaînes sans composant de décalage explicite sont analysées et prend en charge la conversion UTC dans le cadre de l’opération d’analyse.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. Tous les membres de l' DateTimeStyles énumération sont pris en charge à l’exception de NoCurrentDateDefault .All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Le tableau suivant répertorie les effets de chaque membre pris en charge.The following table lists the effect of each supported member.
MembreDateTimeStyles DateTimeStyles member |
ComportementBehavior |
---|---|
AdjustToUniversal | Analyse input et, si nécessaire, le convertit en heure UTC.Parses input and, if necessary, converts it to UTC. Cela équivaut à analyser une chaîne, puis à appeler la DateTimeOffset.ToUniversalTime méthode de l' DateTimeOffset objet retourné.It is equivalent to parsing a string, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object. |
AssumeLocal | Si l’élément correspondant dans formats ne requiert pas que input contient une valeur de décalage, l’objet retourné reçoit l' DateTimeOffset offset du fuseau horaire local.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. Il s’agit de la valeur par défaut.This is the default value. |
AssumeUniversal | Si l’élément correspondant dans formats ne requiert pas que input contient une valeur de décalage, l’objet retourné reçoit DateTimeOffset le décalage 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 | Autorise input l’inclusion d’un espace blanc interne non spécifié par les éléments dans formats .Allows input to include inner white space not specified by the elements in formats . Des espaces blancs supplémentaires peuvent apparaître entre les composants de date et d’heure et dans des composants individuels (à l’exception du décalage) et sont ignorés lors de l’analyse de la chaîne.Extra white space can appear between date and time components and within individual components (except for the offset) and is ignored when parsing the string. |
AllowLeadingWhite | Permet input d’inclure des espaces de début non spécifiés par les éléments dans formats .Allows input to include leading spaces not specified by the elements in formats . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowTrailingWhite | Permet input d’inclure des espaces de fin non spécifiés par les éléments dans formats .Allows input to include trailing spaces not specified by the elements in formats . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowWhiteSpaces | Permet input d’inclure des espaces de début, de fin et internes non spécifiés par les éléments dans formats .Allows input to include leading, trailing, and inner spaces not specified by the elements in formats . Tous les caractères d’espace blanc superflus non spécifiés dans l’élément correspondant dans formats sont ignorés lors de l’analyse de la chaîne.All extra white-space characters not specified in the matched element in formats are ignored when parsing the string. |
None | Indique que des espaces blancs supplémentaires ne sont pas autorisés dans input .Indicates that additional white space is not permitted in input . L’espace blanc doit apparaître exactement comme spécifié dans un élément particulier dans formats pour qu’une correspondance réussie se produise.White space must appear exactly as specified in a particular element in formats for a successful match to occur. Il s'agit du comportement par défaut.This is the default behavior. |
RoundtripKind | N’a aucun effet, car la DateTimeOffset structure n’inclut pas de Kind propriété.Has no effect because the DateTimeOffset structure does not include a Kind property. |
Notes pour les appelants
Dans .NET Framework 4.NET Framework 4 , retourne la TryParseExact valeur false
si la chaîne à analyser contient un composant heure et un indicateur AM/PM qui ne sont pas en accord.In the .NET Framework 4.NET Framework 4, the TryParseExact returns false
if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. Dans .NET Framework 3.5.NET Framework 3.5 et les versions antérieures, l’indicateur AM/PM est ignoré.In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.
S’applique à
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)
Convertit la représentation d’une date et d’une heure dans une étendue de caractères en DateTimeOffset équivalent à l’aide des informations et du style de format propres à la culture spécifiés.Converts the representation of a date and time in a character span to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Le format de la représentation de la date et de l’heure doit correspondre exactement au format spécifié.The format of the date and time representation must match the specified format exactly.
public:
static bool TryParseExact(ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean
Paramètres
- input
- ReadOnlySpan<Char>
Étendue contenant les caractères qui représentent une date et une heure à convertir.A span containing the characters that represent a date and time to convert.
- format
- ReadOnlySpan<Char>
Spécificateur de format définissant le format requis de input
.A format specifier that defines the required format of input
.
- formatProvider
- IFormatProvider
Objet qui fournit des informations de mise en forme propres à la culture sur input
.An object that supplies culture-specific formatting information about input
.
- styles
- DateTimeStyles
Combinaison d'opérations de bits de valeurs d'énumération qui indique le format autorisé du paramètre input
.A bitwise combination of enumeration values that indicates the permitted format of input
. Une valeur typique à spécifier est NoneA typical value to specify is None
- result
- DateTimeOffset
Quand la méthode retourne, elle contient le DateTimeOffset équivalent à la date et à l’heure de input
si la conversion a réussi, ou MinValue si elle a échoué.When the method returns, contains the DateTimeOffset equivalent to the date and time of input
, if the conversion succeeded, or MinValue if the conversion failed. La conversion échoue siThe conversion fails if the
Retours
true
si la conversion du paramètre input
a réussi ; sinon, false
.true
if the input
parameter is successfully converted; otherwise, false
.
Exceptions
styles
inclut une valeur DateTimeStyles non définie.styles
includes an undefined DateTimeStyles value.
-ou- NoCurrentDateDefault n’est pas pris en charge.-or- NoCurrentDateDefault is not supported.
-ou- styles
inclut des valeurs DateTimeStyles qui s’excluent mutuellement.-or- styles
includes mutually exclusive DateTimeStyles values.
Remarques
Cette surcharge est semblable DateTimeOffset.ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) à la méthode, sauf que cette méthode ne lève pas d’exception en cas d’échec de la conversion.This overload is like the DateTimeOffset.ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles) method, except that this method does not throw an exception if the conversion fails. Il analyse la représentation d’une date et d’une heure qui doivent correspondre exactement au modèle spécifié par le format
paramètre.It parses the representation of a date and time that must exactly match the pattern specified by the format
parameter. Si input
ne correspond pas à ce modèle, avec des variations possibles dans l’espace blanc défini par le styles
paramètre, l’opération d’analyse échoue et la méthode retourne false
.If input
does not match this pattern, with some possible variations in white space defined by the styles
parameter, the parsing operation fails and the method returns false
.
Le format
paramètre est une plage de caractères qui contient un spécificateur de format standard unique ou un ou plusieurs spécificateurs de format personnalisés qui définissent le modèle requis de input
.The format
parameter is a character span that contains either a single standard format specifier or one or more custom format specifiers that define the required pattern of input
. Pour plus d’informations sur les codes de mise en forme valides, consultez chaînes de format de date et d’heure standard et chaînes de format de date et d’heure personnalisées.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Si format
inclut les z
zz
zzz
spécificateurs de format personnalisés, ou pour indiquer qu’un offset doit être présent dans input
, cet offset doit inclure un signe négatif ou un signe positif.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. Si le signe est manquant, l’opération d’analyse échoue et la méthode retourne false
.If the sign is missing, the parsing operation fails and the method returns false
.
Si format
exige que input
contient une date mais pas une heure, l’objet obtenu reçoit DateTimeOffset une heure de minuit (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). Si format
exige que input
contient une heure mais pas une date, l’objet obtenu reçoit DateTimeOffset la date actuelle sur le système local.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. Si format
ne requiert pas que input
contient un offset, le décalage de l' DateTimeOffset objet résultant dépend de la valeur du styles
paramètre.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. Si styles
comprend AssumeLocal , le décalage du fuseau horaire local est assigné à l' DateTimeOffset objet.If styles
includes AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Si styles
comprend AssumeUniversal , l’offset de temps universel coordonné (UTC, Coordinated Universal Time), ou + 00:00, est assigné à l' DateTimeOffset objet.If styles
includes AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Si aucune valeur n’est spécifiée, le décalage du fuseau horaire local est utilisé.If neither value is specified, the offset of the local time zone is used.
Les symboles et les chaînes de date et d’heure particuliers utilisés dans input
sont définis par le formatProvider
paramètre.The particular date and time symbols and strings used in input
are defined by the formatProvider
parameter. Il en va de même pour le modèle précis de input
si format
est une chaîne de spécificateur de format standard.The same is true for the precise pattern of input
if format
is a standard format specifier string. Le formatProvider
paramètre peut être l’un des suivants :The formatProvider
parameter can be either of the following:
CultureInfoObjet qui représente la culture basée sur laquelle
input
est interprété.A CultureInfo object that represents the culture based on whichinput
is interpreted. L' DateTimeFormatInfo objet retourné par la CultureInfo.DateTimeFormat propriété définit les symboles et les formats standard autorisés dansinput
.The DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the symbols and standard formats allowed ininput
.DateTimeFormatInfoObjet qui définit le format des données de date et d’heure.A DateTimeFormatInfo object that defines the format of date and time data.
Si formatprovider
a null
la valeur, l' CultureInfo objet qui correspond à la culture actuelle est utilisé.If formatprovider
is null
, the CultureInfo object that corresponds to the current culture is used.
Le styles
paramètre définit si l’espace blanc est autorisé dans la chaîne d’entrée, indique comment les chaînes sans composant de décalage explicite sont analysées et prend en charge la conversion UTC dans le cadre de l’opération d’analyse.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. Tous les membres de l' DateTimeStyles énumération sont pris en charge à l’exception de NoCurrentDateDefault .All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Le tableau suivant répertorie les effets de chaque membre pris en charge.The following table lists the effect of each supported member.
MembreDateTimeStyles DateTimeStyles member |
ComportementBehavior |
---|---|
AdjustToUniversal | Analyse input et, si nécessaire, le convertit en heure UTC.Parses input and, if necessary, converts it to UTC. Cela équivaut à analyser une représentation de date et d’heure, puis à appeler la DateTimeOffset.ToUniversalTime méthode de l' DateTimeOffset objet retourné.It is equivalent to parsing a date and time representation, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object. |
AssumeLocal | Si format ne requiert pas que input contient une valeur de décalage, l’objet retourné reçoit l' DateTimeOffset offset du fuseau horaire local.If format does not require that input contain an offset value, the returned DateTimeOffset object is given the offset of the local time zone. Il s'agit du comportement par défaut.This is the default behavior. |
AssumeUniversal | Si format ne requiert pas que input contient une valeur de décalage, l' DateTimeOffset objet retourné reçoit le décalage 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 | Autorise input l’inclusion d’un espace blanc interne non spécifié par le format.Allows input to include inner white space not specified by format. Des espaces blancs supplémentaires peuvent apparaître entre les composants de date et d’heure et dans des composants individuels, à l’exception du décalage, et sont ignorés lors de l’analyse de la chaîne.Extra white space can appear between date and time components and within individual components, other than the offset, and is ignored when parsing the string. |
AllowLeadingWhite | Permet input d’inclure des espaces de début non spécifiés par format .Allows input to include leading spaces not specified by format . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowTrailingWhite | Autorise input l’inclusion d’espaces de fin non spécifiés par format .Allows input to include trailing spaces not specified by format . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowWhiteSpaces | Permet input d’inclure des espaces de début, de fin et internes non spécifiés par format .Allows input to include leading, trailing, and inner spaces not specified by format . Tous les caractères d’espace blanc supplémentaires non spécifiés dans format sont ignorés lors de l’analyse de la chaîne.All extra white-space characters not specified in format are ignored when parsing the string. |
None | Indique que des espaces blancs supplémentaires ne sont pas autorisés dans input .Indicates that additional white space is not permitted in input . L’espace blanc doit apparaître exactement comme indiqué dans format .White space must appear exactly as specified in format . Il s'agit du comportement par défaut.This is the default behavior. |
RoundtripKind | N’a aucun effet, car la DateTimeOffset structure n’inclut pas de Kind propriété.Has no effect, because the DateTimeOffset structure does not include a Kind property. |
S’applique à
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTimeOffset)
Convertit la représentation d’une date et d’une heure dans une plage de caractères en DateTimeOffset équivalent à l’aide des informations et du style de format propres à la culture spécifiés.Converts the representation of a date and time in a character span to its DateTimeOffset equivalent using the specified formats, culture-specific format information, and style. Le format de la représentation de la date et de l’heure doit correspondre exactement à l'un des formats spécifiés.The format of the date and time representation must match one of the specified formats exactly.
public:
static bool TryParseExact(ReadOnlySpan<char> input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParseExact (ReadOnlySpan<char>? input, string[] formats, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParseExact (ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), formats As String(), formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean
Paramètres
- input
- ReadOnlySpan<Char>
Étendue contenant les caractères qui représentent une date et une heure à convertir.A span containing the characters that represent a date and time to convert.
- formats
- String[]
Tableau de chaînes de format standard ou personnalisées qui définit les formats acceptables de input
.A array of standard or custom format strings that define the acceptable formats of input
.
- formatProvider
- IFormatProvider
Objet qui fournit des informations de mise en forme propres à la culture sur input
.An object that supplies culture-specific formatting information about input
.
- styles
- DateTimeStyles
Combinaison d'opérations de bits de valeurs d'énumération qui indique le format autorisé du paramètre input
.A bitwise combination of enumeration values that indicates the permitted format of input
. Une valeur typique à spécifier est NoneA typical value to specify is None
- result
- DateTimeOffset
Quand la méthode retourne, elle contient le DateTimeOffset équivalent à la date et à l’heure de input
si la conversion a réussi, ou MinValue si elle a échoué.When the method returns, contains the DateTimeOffset equivalent to the date and time of input
, if the conversion succeeded, or MinValue if the conversion failed. La conversion échoue siThe conversion fails if the
Retours
true
si la conversion du paramètre input
a réussi ; sinon, false
.true
if the input
parameter is successfully converted; otherwise, false
.
Exceptions
styles
inclut une valeur DateTimeStyles non définie.styles
includes an undefined DateTimeStyles value.
-ou- NoCurrentDateDefault n’est pas pris en charge.-or- NoCurrentDateDefault is not supported.
-ou- styles
inclut des valeurs DateTimeStyles qui s’excluent mutuellement.-or- styles
includes mutually exclusive DateTimeStyles values.
Remarques
Cette méthode analyse la représentation sous forme de chaîne d’une date qui correspond à l’un des modèles assignés au formats
tableau.This method parses the string representation of a date that matches any one of the patterns assigned to the formats
array. Si input
ne correspond pas à l’un de ces modèles avec des variations définies par le styles
paramètre, l’opération d’analyse échoue et la méthode retourne false
.If input
does not match any one of these patterns with any variations defined by the styles
parameter, the parsing operation fails and the method returns false
. Hormis input
la comparaison à plusieurs chaînes qui contiennent des spécificateurs de format, cette surcharge se comporte de la même façon que la DateTimeOffset.ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) méthode.Aside from comparing input
to multiple strings that contain format specifiers, this overload behaves identically to the DateTimeOffset.ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles) method.
Le formats
paramètre est un tableau de chaînes dont les éléments contiennent un spécificateur de format standard unique ou un ou plusieurs spécificateurs de format personnalisés qui définissent le modèle possible de input
.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 input
. Pour plus d’informations sur les codes de mise en forme valides, consultez chaînes de format de date et d’heure standard et chaînes de format de date et d’heure personnalisées.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Si l’élément correspondant dans formats
inclut les z
zz
zzz
spécificateurs de format personnalisés, ou pour indiquer qu’un offset doit être présent dans input
, cet offset doit inclure un signe négatif ou un signe positif.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. Si le signe est manquant, l’opération d’analyse échoue et la méthode retourne false
.If the sign is missing, the parse operation fails and the method returns false
.
Important
L’utilisation du formats
paramètre de cette surcharge pour spécifier plusieurs formats peut aider à réduire la frustration de nombreux utilisateurs lorsqu’ils entrent des dates et des heures.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. En particulier, la possibilité de définir plusieurs modèles d’entrée permet à une application de gérer des représentations de date et d’heure qui peuvent inclure ou manquer des zéros non significatifs dans les mois, les jours, les heures, les minutes et les secondes.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. L’exemple en fournit une illustration.The example provides an illustration of this.
Si l’élément correspondant dans formats
exige que input
contient une date mais pas une heure, l’objet obtenu DateTimeOffset reçoit une heure de minuit (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). Si l’élément correspondant dans formats
exige que l’entrée contienne une heure mais pas une date, l' DateTimeOffset objet obtenu reçoit la date actuelle sur le système local.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. Si l’élément correspondant dans formats
ne requiert pas que input
contienne un offset, le décalage de l' DateTimeOffset objet résultant dépend de la valeur du styles
paramètre.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. Si styles
comprend DateTimeStyles.AssumeLocal , le décalage du fuseau horaire local est assigné à l' DateTimeOffset objet.If styles
includes DateTimeStyles.AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Si styles
comprend DateTimeStyles.AssumeUniversal , l’offset de temps universel coordonné (UTC, Coordinated Universal Time), ou + 00:00, est assigné à l' DateTimeOffset objet.If styles
includes DateTimeStyles.AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Si aucune valeur n’est spécifiée, le décalage du fuseau horaire local est utilisé.If neither value is specified, the offset of the local time zone is used.
Les symboles de date et d’heure particuliers utilisés dans input
sont définis par le formatProvider
paramètre.The particular date and time symbols used in input
are defined by the formatProvider
parameter. Il en va de même pour le modèle précis de input
si l’élément correspondant de formats
est une chaîne de spécificateur de format standard.The same is true for the precise pattern of input
if the matching element of formats
is a standard format specifier string. Le formatProvider
paramètre peut être l’un des suivants :The formatProvider
parameter can be either of the following:
CultureInfoObjet qui représente la culture basée sur laquelle
input
est interprété.A CultureInfo object that represents the culture based on whichinput
is interpreted. L' DateTimeFormatInfo objet retourné par la CultureInfo.DateTimeFormat propriété définit les symboles et la mise en forme dansinput
.The DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the symbols and formatting ininput
.DateTimeFormatInfoObjet qui définit le format des données de date et d’heure.A DateTimeFormatInfo object that defines the format of date and time data.
Si formatprovider
a null
la valeur, l' CultureInfo objet qui correspond à la culture actuelle est utilisé.If formatprovider
is null
, the CultureInfo object that corresponds to the current culture is used.
Le styles
paramètre définit si l’espace blanc est autorisé dans la chaîne d’entrée, indique comment les chaînes sans composant de décalage explicite sont analysées et prend en charge la conversion UTC dans le cadre de l’opération d’analyse.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. Tous les membres de l' DateTimeStyles énumération sont pris en charge à l’exception de NoCurrentDateDefault .All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Le tableau suivant répertorie les effets de chaque membre pris en charge.The following table lists the effect of each supported member.
MembreDateTimeStyles DateTimeStyles member |
ComportementBehavior |
---|---|
AdjustToUniversal | Analyse input et, si nécessaire, le convertit en heure UTC.Parses input and, if necessary, converts it to UTC. Cela équivaut à analyser une chaîne, puis à appeler la DateTimeOffset.ToUniversalTime méthode de l' DateTimeOffset objet retourné.It is equivalent to parsing a string, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object. |
AssumeLocal | Si l’élément correspondant dans formats ne requiert pas que input contient une valeur de décalage, l’objet retourné reçoit l' DateTimeOffset offset du fuseau horaire local.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. Il s’agit de la valeur par défaut.This is the default value. |
AssumeUniversal | Si l’élément correspondant dans formats ne requiert pas que input contient une valeur de décalage, l’objet retourné reçoit DateTimeOffset le décalage 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 | Autorise input l’inclusion d’un espace blanc interne non spécifié par les éléments dans formats .Allows input to include inner white space not specified by the elements in formats . Des espaces blancs supplémentaires peuvent apparaître entre les composants de date et d’heure et dans des composants individuels (à l’exception du décalage) et sont ignorés lors de l’analyse de la chaîne.Extra white space can appear between date and time components and within individual components (except for the offset) and is ignored when parsing the string. |
AllowLeadingWhite | Permet input d’inclure des espaces de début non spécifiés par les éléments dans formats .Allows input to include leading spaces not specified by the elements in formats . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowTrailingWhite | Permet input d’inclure des espaces de fin non spécifiés par les éléments dans formats .Allows input to include trailing spaces not specified by the elements in formats . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowWhiteSpaces | Permet input d’inclure des espaces de début, de fin et internes non spécifiés par les éléments dans formats .Allows input to include leading, trailing, and inner spaces not specified by the elements in formats . Tous les caractères d’espace blanc superflus non spécifiés dans l’élément correspondant dans formats sont ignorés lors de l’analyse de la chaîne.All extra white-space characters not specified in the matched element in formats are ignored when parsing the string. |
None | Indique que des espaces blancs supplémentaires ne sont pas autorisés dans input .Indicates that additional white space is not permitted in input . L’espace blanc doit apparaître exactement comme spécifié dans un élément particulier dans formats pour qu’une correspondance réussie se produise.White space must appear exactly as specified in a particular element in formats for a successful match to occur. Il s'agit du comportement par défaut.This is the default behavior. |
RoundtripKind | N’a aucun effet, car la DateTimeOffset structure n’inclut pas de Kind propriété.Has no effect because the DateTimeOffset structure does not include a Kind property. |
S’applique à
TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset)
Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTimeOffset équivalent à l'aide des informations et du style de format propres à la culture spécifiés.Converts the specified string representation of a date and time to its DateTimeOffset equivalent using the specified format, culture-specific format information, and style. Le format de la représentation sous forme de chaîne doit correspondre exactement au format spécifié.The format of the string representation must match the specified format exactly.
public:
static bool TryParseExact(System::String ^ input, System::String ^ format, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParseExact (string input, string format, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParseExact : string * string * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParseExact (input As String, format As String, formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean
Paramètres
- input
- String
Chaîne contenant une date et une heure à convertir.A string that contains a date and time to convert.
- format
- String
Spécificateur de format définissant le format requis de input
.A format specifier that defines the required format of input
.
- formatProvider
- IFormatProvider
Objet qui fournit des informations de mise en forme propres à la culture sur input
.An object that supplies culture-specific formatting information about input
.
- styles
- DateTimeStyles
Combinaison de bits de valeurs d'énumération qui indique le format autorisé de l'entrée.A bitwise combination of enumeration values that indicates the permitted format of input. Une valeur typique à spécifier est None
.A typical value to specify is None
.
- result
- DateTimeOffset
Quand la méthode se termine, contient le DateTimeOffset équivalent à la date et à l’heure de input
si la conversion a réussi, ou MinValue si elle a échoué.When the method returns, contains the DateTimeOffset equivalent to the date and time of input
, if the conversion succeeded, or MinValue, if the conversion failed. La conversion échoue si le paramètre input
est null
ou ne contient aucune représentation sous forme de chaîne valide d’une date et d’une heure au format attendu défini par format
et provider
.The conversion fails if the input
parameter is null
, or does not contain a valid string representation of a date and time in the expected format defined by format
and provider
. Ce paramètre est passé sans être initialisé.This parameter is passed uninitialized.
Retours
true
si la conversion du paramètre input
a réussi ; sinon, false
.true
if the input
parameter is successfully converted; otherwise, false
.
Exceptions
styles
inclut une valeur DateTimeStyles non définie.styles
includes an undefined DateTimeStyles value.
- ou --or- NoCurrentDateDefault n’est pas pris en charge.NoCurrentDateDefault is not supported.
- ou --or-
styles
inclut des valeurs DateTimeStyles qui s’excluent mutuellement.styles
includes mutually exclusive DateTimeStyles values.
Exemples
L’exemple suivant utilise la TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) méthode avec des spécificateurs de format standard et personnalisés, la culture dite indifférente et différentes DateTimeStyles valeurs pour analyser plusieurs chaînes de date et d’heure.The following example uses the TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) 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;
IFormatProvider provider = CultureInfo.InvariantCulture;
// Parse date-only value with invariant culture and assume time is UTC.
dateString = "06/15/2008";
format = "d";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
DateTimeStyles.AssumeUniversal,
out result))
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
Console.WriteLine("'{0}' is not in the correct format.", dateString);
// Parse date-only value with leading white space.
// Should return False because only trailing white space is
// specified in method call.
dateString = " 06/15/2008";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
DateTimeStyles.AllowTrailingWhite,
out result))
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
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";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
DateTimeStyles.AllowWhiteSpaces,
out result))
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
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";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
DateTimeStyles.AllowWhiteSpaces |
DateTimeStyles.AdjustToUniversal,
out result))
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString());
else
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"
If DateTimeOffset.TryParseExact(dateString, format, provider, _
DateTimeStyles.AssumeUniversal, _
result) Then
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Else
Console.WriteLine("'{0}' is not in the correct format.", dateString)
End If
' Parse date-only value with leading white space.
' Should return False because only trailing white space is
' specified in method call.
dateString = " 06/15/2008"
If DateTimeOffset.TryParseExact(dateString, format, provider, _
DateTimeStyles.AllowTrailingWhite, _
result) Then
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Else
Console.WriteLine("'{0}' is not in the correct format.", dateString)
End If
' 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"
If DateTimeOffset.TryParseExact(dateString, format, provider, _
DateTimeStyles.AllowWhiteSpaces, _
result) Then
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Else
Console.WriteLine("'{0}' is not in the correct format.", dateString)
End If
' 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"
If DateTimeOffset.TryParseExact(dateString, format, provider, _
DateTimeStyles.AllowWhiteSpaces Or _
DateTimeStyles.AdjustToUniversal, _
result) Then
Console.WriteLine("'{0}' converts to {1}.", dateString, result.ToString())
Else
Console.WriteLine("'{0}' is not in the correct format.", dateString)
End If
' 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.
L’exemple suivant utilise diverses DateTimeStyles valeurs pour analyser un tableau de chaînes qui sont censées être conformes à la norme 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. Comme le montre la sortie de l’exemple, les chaînes qui se trouvent dans le format approprié ne peuvent pas être analysées si :As the output from the example shows, strings that are in the proper format fail to parse if:
ils contiennent des espaces blancs et un DateTimeStyles indicateur approprié (par exemple, DateTimeStyles.AllowWhiteSpaces n’a pas été fourni dans l’appel de méthode).they contain white space, and an appropriate DateTimeStyles flag (such as DateTimeStyles.AllowWhiteSpaces has not been supplied in the method call.
ils contiennent des éléments de date et d’heure hors limites.they contain date and time elements that are out of range.
Les chaînes qui ne spécifient pas de décalage UTC sont supposées avoir le décalage du fuseau horaire local (dans ce cas,-07:00, qui reflète le décalage du fuseau horaire Pacifique), à moins que l' DateTimeStyles.AssumeUniversal indicateur ne soit fourni dans l’appel de méthode.Strings that do not specify a UTC offset are assumed to have the offset of the local time zone (in this case, -07:00, which reflects the offset of the Pacific Daylight Time zone) unless the DateTimeStyles.AssumeUniversal flag is supplied in the method call. Dans ce cas, ils sont considérés comme étant du temps universel coordonné.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}:");
DateTimeOffset date;
foreach (var dateString in dateStrings)
{
if (DateTimeOffset.TryParseExact(dateString, "O", null, styles, out date))
{
Console.WriteLine($" {dateString,-35} --> {date:yyyy-MM-dd HH:mm:ss.FF zzz}");
}
else
{
Console.WriteLine($" 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
// Unable to convert '2018/08/18T12:45:16.0000000Z'
// Unable to convert '2018-18-08T12:45:16.0000000Z'
// 2018-08-18T12:45:16.0000000 --> 2018-08-18 12:45:16 -07:00
// 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
// Unable to convert '2018/08/18T12:45:16.0000000Z'
// 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
// Unable to convert '2018/08/18T12:45:16.0000000Z'
// Unable to convert '2018-18-08T12:45:16.0000000Z'
// 2018-08-18T12:45:16.0000000 --> 2018-08-18 19:45:16 +00:00
// 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
// Unable to convert '2018/08/18T12:45:16.0000000Z'
// Unable to convert '2018-18-08T12:45:16.0000000Z'
// 2018-08-18T12:45:16.0000000 --> 2018-08-18 12:45:16 -07:00
// 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
// Unable to convert '2018/08/18T12:45:16.0000000Z'
// Unable to convert '2018-18-08T12:45:16.0000000Z'
// 2018-08-18T12:45:16.0000000 --> 2018-08-18 12:45:16 +00:00
// 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}:")
Dim dat As DateTimeOffset
For Each dateStr In dateStrings
If DateTimeOffset.TryParseExact(dateStr, "O", Nothing, styles, dat) Then
Console.WriteLine($" {dateStr,-35} --> {dat:yyyy-MM-dd HH:mm:ss.FF zzz}")
Else
Console.WriteLine($" Unable to convert '{dateStr}'")
End If
Next
End Sub
End Module
' The example displays the following output:
' Parsing with None:
' 2018-08-18T12:45:16.0000000Z --> 2018-08-18 12:45:16 +00:00
' Unable to convert '2018/08/18T12:45:16.0000000Z'
' Unable to convert '2018-18-08T12:45:16.0000000Z'
' 2018-08-18T12:45:16.0000000 --> 2018-08-18 12:45:16 -07:00
' 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
' Unable to convert '2018/08/18T12:45:16.0000000Z'
' 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
' Unable to convert '2018/08/18T12:45:16.0000000Z'
' Unable to convert '2018-18-08T12:45:16.0000000Z'
' 2018-08-18T12:45:16.0000000 --> 2018-08-18 19:45:16 +00:00
' 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
' Unable to convert '2018/08/18T12:45:16.0000000Z'
' Unable to convert '2018-18-08T12:45:16.0000000Z'
' 2018-08-18T12:45:16.0000000 --> 2018-08-18 12:45:16 -07:00
' 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
' Unable to convert '2018/08/18T12:45:16.0000000Z'
' Unable to convert '2018-18-08T12:45:16.0000000Z'
' 2018-08-18T12:45:16.0000000 --> 2018-08-18 12:45:16 +00:00
' 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
Remarques
Cette surcharge de la TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) méthode est semblable DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) à la méthode, sauf que cette méthode ne lève pas d’exception en cas d’échec de la conversion.This overload of the TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) method is like the DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) method, except that this method does not throw an exception if the conversion fails. Il analyse la représentation sous forme de chaîne d’une date et d’une heure qui doivent correspondre exactement au modèle spécifié par le format
paramètre.It parses the string representation of a date and time that must exactly match the pattern specified by the format
parameter. Si la input
chaîne ne correspond pas à ce modèle, avec des variations possibles dans l’espace blanc défini par le styles
paramètre, l’opération d’analyse échoue et la méthode retourne false
.If the input
string does not match this pattern, with some possible variations in white space defined by the styles
parameter, the parsing operation fails and the method returns false
.
Le format
paramètre est une chaîne qui contient soit un spécificateur de format standard unique, soit un ou plusieurs spécificateurs de format personnalisés qui définissent le modèle requis de input
.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 input
. Pour plus d’informations sur les codes de mise en forme valides, consultez chaînes de format de date et d’heure standard et chaînes de format de date et d’heure personnalisées.For details about valid formatting codes, see Standard Date and Time Format Strings and Custom Date and Time Format Strings. Si format
inclut les z
zz
zzz
spécificateurs de format personnalisés, ou pour indiquer qu’un offset doit être présent dans input
, cet offset doit inclure un signe négatif ou un signe positif.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. Si le signe est manquant, l’opération d’analyse échoue et la méthode retourne false
.If the sign is missing, the parsing operation fails and the method returns false
.
Si format
exige que input
contient une date mais pas une heure, l’objet obtenu reçoit DateTimeOffset une heure de minuit (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). Si format
exige que input
contient une heure mais pas une date, l’objet obtenu reçoit DateTimeOffset la date actuelle sur le système local.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. Si format
ne requiert pas que input
contient un offset, le décalage de l' DateTimeOffset objet résultant dépend de la valeur du styles
paramètre.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. Si styles
comprend AssumeLocal , le décalage du fuseau horaire local est assigné à l' DateTimeOffset objet.If styles
includes AssumeLocal, the offset of the local time zone is assigned to the DateTimeOffset object. Si styles
comprend AssumeUniversal , l’offset de temps universel coordonné (UTC, Coordinated Universal Time), ou + 00:00, est assigné à l' DateTimeOffset objet.If styles
includes AssumeUniversal, the Coordinated Universal Time (UTC) offset, or +00:00, is assigned to the DateTimeOffset object. Si aucune valeur n’est spécifiée, le décalage du fuseau horaire local est utilisé.If neither value is specified, the offset of the local time zone is used.
Les symboles et les chaînes de date et d’heure particuliers utilisés dans input
sont définis par le formatProvider
paramètre.The particular date and time symbols and strings used in input
are defined by the formatProvider
parameter. Il en va de même pour le modèle précis de input
si format
est une chaîne de spécificateur de format standard.The same is true for the precise pattern of input
if format
is a standard format specifier string. Le formatProvider
paramètre peut être l’un des suivants :The formatProvider
parameter can be either of the following:
CultureInfoObjet qui représente la culture basée sur laquelle
input
est interprété.A CultureInfo object that represents the culture based on whichinput
is interpreted. L' DateTimeFormatInfo objet retourné par la CultureInfo.DateTimeFormat propriété définit les symboles et les formats standard autorisés dansinput
.The DateTimeFormatInfo object returned by the CultureInfo.DateTimeFormat property defines the symbols and standard formats allowed ininput
.DateTimeFormatInfoObjet qui définit le format des données de date et d’heure.A DateTimeFormatInfo object that defines the format of date and time data.
Si formatprovider
a null
la valeur, l' CultureInfo objet qui correspond à la culture actuelle est utilisé.If formatprovider
is null
, the CultureInfo object that corresponds to the current culture is used.
Le styles
paramètre définit si l’espace blanc est autorisé dans la chaîne d’entrée, indique comment les chaînes sans composant de décalage explicite sont analysées et prend en charge la conversion UTC dans le cadre de l’opération d’analyse.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. Tous les membres de l' DateTimeStyles énumération sont pris en charge à l’exception de NoCurrentDateDefault .All members of the DateTimeStyles enumeration are supported except NoCurrentDateDefault. Le tableau suivant répertorie les effets de chaque membre pris en charge.The following table lists the effect of each supported member.
MembreDateTimeStyles DateTimeStyles member |
ComportementBehavior |
---|---|
AdjustToUniversal | Analyse input et, si nécessaire, le convertit en heure UTC.Parses input and, if necessary, converts it to UTC. Cela équivaut à analyser une chaîne, puis à appeler la DateTimeOffset.ToUniversalTime méthode de l' DateTimeOffset objet retourné.It is equivalent to parsing a string, and then calling the DateTimeOffset.ToUniversalTime method of the returned DateTimeOffset object. |
AssumeLocal | Si format ne requiert pas que input contient une valeur de décalage, l’objet retourné reçoit l' DateTimeOffset offset du fuseau horaire local.If format does not require that input contain an offset value, the returned DateTimeOffset object is given the offset of the local time zone. Il s'agit du comportement par défaut.This is the default behavior. |
AssumeUniversal | Si format ne requiert pas que input contient une valeur de décalage, l' DateTimeOffset objet retourné reçoit le décalage 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 | Autorise input l’inclusion d’un espace blanc interne non spécifié par le format.Allows input to include inner white space not specified by format. Des espaces blancs supplémentaires peuvent apparaître entre les composants de date et d’heure et dans des composants individuels, à l’exception du décalage, et sont ignorés lors de l’analyse de la chaîne.Extra white space can appear between date and time components and within individual components, other than the offset, and is ignored when parsing the string. |
AllowLeadingWhite | Permet input d’inclure des espaces de début non spécifiés par format .Allows input to include leading spaces not specified by format . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowTrailingWhite | Autorise input l’inclusion d’espaces de fin non spécifiés par format .Allows input to include trailing spaces not specified by format . Elles sont ignorées lors de l’analyse de la chaîne.These are ignored when parsing the string. |
AllowWhiteSpaces | Permet input d’inclure des espaces de début, de fin et internes non spécifiés par format .Allows input to include leading, trailing, and inner spaces not specified by format . Tous les caractères d’espace blanc supplémentaires non spécifiés dans format sont ignorés lors de l’analyse de la chaîne.All extra white-space characters not specified in format are ignored when parsing the string. |
None | Indique que des espaces blancs supplémentaires ne sont pas autorisés dans input .Indicates that additional white space is not permitted in input . L’espace blanc doit apparaître exactement comme indiqué dans format .White space must appear exactly as specified in format . Il s'agit du comportement par défaut.This is the default behavior. |
RoundtripKind | N’a aucun effet, car la DateTimeOffset structure n’inclut pas de Kind propriété.Has no effect, because the DateTimeOffset structure does not include a Kind property. |
Notes pour les appelants
Dans .NET Framework 4.NET Framework 4 , retourne la TryParseExact valeur false
si la chaîne à analyser contient un composant heure et un indicateur AM/PM qui ne sont pas en accord.In the .NET Framework 4.NET Framework 4, the TryParseExact returns false
if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. Dans .NET Framework 3.5.NET Framework 3.5 et les versions antérieures, l’indicateur AM/PM est ignoré.In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.