DateTime.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 DateTime.Converts the specified string representation of a date and time to its DateTime 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. La méthode retourne une valeur qui indique si la conversion a réussi.The method returns a value that indicates whether the conversion succeeded.

Surcharges

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

Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTime é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 DateTime 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. La méthode retourne une valeur qui indique si la conversion a réussi.The method returns a value that indicates whether the conversion succeeded.

TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et heure en son équivalent DateTime à 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 DateTime equivalent using the specified array of formats, culture-specific format information, and style. Le format de la chaîne doit correspondre exactement à au moins un des formats spécifiés.The format of the string representation must match at least one of the specified formats exactly. La méthode retourne une valeur qui indique si la conversion a réussi.The method returns a value that indicates whether the conversion succeeded.

Remarques

Important

Les ères des calendriers japonais sont basées sur le règne de l’empereur et sont donc amenées à changer.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Par exemple, le 1 mai 2019 a marqué le début de l’ère Reiwa dans JapaneseCalendar et JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Ce changement d’ère affecte toutes les applications qui utilisent ces calendriers.Such a change of era affects all applications that use these calendars. Pour plus d’informations et pour déterminer si vos applications sont affectées, consultez Handling a new era in the Japanese calendar in .NET.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Pour plus d’informations sur le test de vos applications sur les systèmes Windows pour garantir leur préparation au changement d’ère, consultez Préparer votre application au changement de l’ère japonaise.See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. Consultez Utilisation des ères pour connaître les fonctionnalités de .NET qui prennent en charge les calendriers avec plusieurs ères et les bonnes pratiques d’utilisation de ce type de calendrier.See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)

public:
 static bool TryParseExact(ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

Paramètres

format
ReadOnlySpan<Char>
provider
IFormatProvider
result
DateTime

Retours

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

public:
 static bool TryParseExact(ReadOnlySpan<char> s, cli::array <System::String ^> ^ formats, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As ReadOnlySpan(Of Char), formats As String(), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

Paramètres

formats
String[]
provider
IFormatProvider
result
DateTime

Retours

TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en DateTime é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 DateTime 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. La méthode retourne une valeur qui indique si la conversion a réussi.The method returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParseExact(System::String ^ s, System::String ^ format, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (string s, string format, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : string * string * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As String, format As String, provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

Paramètres

s
String

Chaîne contenant une date et une heure à convertir.A string containing a date and time to convert.

format
String

Format requis du paramètre s.The required format of s.

provider
IFormatProvider

Objet qui fournit des informations de mise en forme propres à la culture sur s.An object that supplies culture-specific formatting information about s.

style
DateTimeStyles

Combinaison d'opérations de bits d'une ou plusieurs valeurs d'énumération qui indique le format autorisé du paramètre s.A bitwise combination of one or more enumeration values that indicate the permitted format of s.

result
DateTime

Quand cette méthode est retournée, contient la valeur de DateTime équivalente à la date et l'heure contenues dans s si la conversion a réussi, ou MinValue si elle a échoué.When this method returns, contains the DateTime value equivalent to the date and time contained in s, if the conversion succeeded, or MinValue if the conversion failed. La conversion échoue si le paramètre s ou format est null, est une chaîne vide ou ne contient pas une date et une heure correspondant au modèle spécifié dans format.The conversion fails if either the s or format parameter is null, is an empty string, or does not contain a date and time that correspond to the pattern specified in format. Ce paramètre est passé sans être initialisé.This parameter is passed uninitialized.

Retours

true si la conversion de s est réussie ; sinon, false.true if s was converted successfully; otherwise, false.

Exceptions

styles n’est pas une valeur de DateTimeStyles valide.styles is not a valid DateTimeStyles value.

- ou --or- styles contient une combinaison non valide de valeurs DateTimeStyles (par exemple, AssumeLocal et AssumeUniversal).styles contains an invalid combination of DateTimeStyles values (for example, both AssumeLocal and AssumeUniversal).

Exemples

L’exemple suivant illustre la méthode DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime).The following example demonstrates the DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method. Notez que la chaîne « 5/01/2009 8:30 AM » ne peut pas être analysée correctement lorsque le paramètre styles est égal à DateTimeStyles.None, car les espaces de début ne sont pas autorisés par format.Note that the string " 5/01/2009 8:30 AM" cannot be parsed successfully when the styles parameter equals DateTimeStyles.None because leading spaces are not allowed by format. En outre, la chaîne « 5/01/2009 09:00 » ne peut pas être analysée correctement avec un format de « MM/JJ/yyyyhh : mm », car la chaîne de date ne précède pas le numéro de mois avec un zéro non significatif, car format nécessite.Additionally, the string "5/01/2009 09:00" cannot be parsed successfully with a format of "MM/dd/yyyyhh:mm" because the date string does not precede the month number with a leading zero, as format requires.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo enUS = new CultureInfo("en-US"); 
      string dateString;
      DateTime dateValue;
      
      // Parse date with no style flags.
      dateString = " 5/01/2009 8:30 AM";
      if (DateTime.TryParseExact(dateString, "g", enUS, 
                                 DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "g", enUS, 
                                 DateTimeStyles.AllowLeadingWhite, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
      
      // Use custom formats with M and MM.
      dateString = "5/01/2009 09:00";
      if (DateTime.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, 
                                 DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS, 
                              DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Parse a string with time zone information.
      dateString = "05/01/2009 01:30:42 PM -05:00"; 
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, 
                              DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, 
                              DateTimeStyles.AdjustToUniversal, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
           
      // Parse a string representing UTC.
      dateString = "2008-06-11T16:11:20.0904778Z";
      if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, 
                                     DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, 
                                 DateTimeStyles.RoundtripKind, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

   }
}
// The example displays the following output:
//    ' 5/01/2009 8:30 AM' is not in an acceptable format.
//    Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
//    Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
//    '5/01/2009 09:00' is not in an acceptable format.
//    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
//    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
//    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
//    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim enUS As New CultureInfo("en-US") 
      Dim dateString As String
      Dim dateValue As Date
      
      ' Parse date with no style flags.
      dateString = " 5/01/2009 8:30 AM"
      If Date.TryParseExact(dateString, "g", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      ' Allow a leading space in the date string.
      If Date.TryParseExact(dateString, "g", enUS, _
                            DateTimeStyles.AllowLeadingWhite, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      
      ' Use custom formats with M and MM.
      dateString = "5/01/2009 09:00"
      If Date.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      ' Allow a leading space in the date string.
      If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If

      ' Parse a string with time zone information.
      dateString = "05/01/2009 01:30:42 PM -05:00" 
      If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      ' Allow a leading space in the date string.
      If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, _
                            DateTimeStyles.AdjustToUniversal, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
           
      ' Parse a string representing UTC.
      dateString = "2008-06-11T16:11:20.0904778Z"
      If Date.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, _
                                     DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      
      If Date.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, _
                            DateTimeStyles.RoundtripKind, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
   End Sub
End Module
' The example displays the following output:
'    ' 5/01/2009 8:30 AM' is not in an acceptable format.
'    Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
'    Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
'    '5/01/2009 09:00' is not in an acceptable format.
'    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
'    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
'    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
'    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).

Remarques

La méthode DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) analyse la représentation sous forme de chaîne d’une date, qui doit être au format défini par le paramètre format.The DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method parses the string representation of a date, which must be in the format defined by the format parameter. Elle est semblable à la méthode DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles), sauf que la méthode TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) ne lève pas d’exception en cas d’échec de la conversion.It is similar to the DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) method, except that the TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method does not throw an exception if the conversion fails.

Le paramètre s contient la date et l’heure à analyser et doit être dans un format défini par le paramètre format.The s parameter contains the date and time to parse and must be in a format defined by the format parameter. Si les éléments de date, d’heure et de fuseau horaire sont présents dans s, ils doivent également apparaître dans l’ordre spécifié par format.If date, time, and time zone elements are present in s, they must also appear in the order specified by format. Si format définit une date sans élément d’heure et que l’opération d’analyse aboutit, la valeur DateTime résultante a une heure de minuit (00:00:00).If format defines a date with no time element and the parse operation succeeds, the resulting DateTime value has a time of midnight (00:00:00). Si format définit une heure sans élément de date et que l’opération d’analyse aboutit, la valeur DateTime obtenue par défaut a la date DateTime.Now.Date, ou la date de DateTime.MinValue.Date si styles inclut l’indicateur DateTimeStyles.NoCurrentDateDefault.If format defines a time with no date element and the parse operation succeeds, the resulting DateTime value by default has a date of DateTime.Now.Date, or it has a date of DateTime.MinValue.Date if styles includes the DateTimeStyles.NoCurrentDateDefault flag. Le paramètre style détermine si le paramètre s peut contenir des espaces blancs de début, internes ou de fin.The style parameter determines whether the s parameter can contain leading, inner, or trailing white space characters.

Si s ne contient aucune information de fuseau horaire, la propriété Kind de l’objet DateTime retourné est DateTimeKind.Unspecified.If s contains no time zone information, the Kind property of the returned DateTime object is DateTimeKind.Unspecified. Ce comportement peut être modifié à l’aide de l’indicateur DateTimeStyles.AssumeLocal, qui retourne une valeur DateTime dont la propriété Kind est DateTimeKind.Local, ou à l’aide des indicateurs DateTimeStyles.AssumeUniversal et DateTimeStyles.AdjustToUniversal, qui retourne une valeur DateTime dont la propriété Kind est DateTimeKind.Utc.This behavior can be changed by using the DateTimeStyles.AssumeLocal flag, which returns a DateTime value whose Kind property is DateTimeKind.Local, or by using the DateTimeStyles.AssumeUniversal and DateTimeStyles.AdjustToUniversal flags, which returns a DateTime value whose Kind property is DateTimeKind.Utc. Si s contient des informations de fuseau horaire, l’heure est convertie en heure locale, si nécessaire, et la propriété Kind de l’objet DateTime retourné a la valeur DateTimeKind.Local.If s contains time zone information, the time is converted to local time, if necessary, and the Kind property of the returned DateTime object is set to DateTimeKind.Local. Ce comportement peut être modifié à l’aide de l’indicateur DateTimeStyles.RoundtripKind pour ne pas convertir le temps universel coordonné (UTC, Universal Time Coordinated) en heure locale et définir la propriété Kind sur DateTimeKind.Utc.This behavior can be changed by using the DateTimeStyles.RoundtripKind flag to not convert Coordinated Universal Time (UTC) to a local time and set the Kind property to DateTimeKind.Utc.

Le paramètre format contient un modèle qui correspond au format attendu du paramètre s.The format parameter contains a pattern that corresponds to the expected format of the s parameter. Le modèle dans le paramètre format se compose d’un ou de plusieurs spécificateurs de format personnalisés du tableau de chaînes de format de date et d’heure personnalisé , ou d’un spécificateur de format standard unique, qui identifie un modèle prédéfini, à partir de la date et de l’heure standard. Tableau de chaînes de format.The pattern in the format parameter consists of one or more custom format specifiers from the Custom Date and Time Format Strings table, or a single standard format specifier, which identifies a predefined pattern, from the Standard Date and Time Format Strings table.

Si vous n’utilisez pas de séparateurs de date ou d’heure dans un modèle de format personnalisé, utilisez la culture dite indifférente pour le paramètre provider et la forme la plus étendue de chaque spécificateur de format personnalisé.If you do not use date or time separators in a custom format pattern, use the invariant culture for the provider parameter and the widest form of each custom format specifier. Par exemple, si vous souhaitez spécifier des heures dans le modèle, spécifiez la forme plus large, « HH », au lieu de la forme plus étroite, « H ».For example, if you want to specify hours in the pattern, specify the wider form, "HH", instead of the narrower form, "H".

Notes

Au lieu d’exiger que s soit conforme à un format unique pour que l’opération d’analyse aboutisse, vous pouvez appeler la méthode DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) et spécifier plusieurs formats autorisés.Rather than requiring that s conform to a single format for the parse operation to succeed, you can call the DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method and specify multiple permitted formats. Cela rend l’opération d’analyse plus susceptible d’être effectuée.This makes the parse operation more likely to succeed.

Les symboles et les chaînes de date et d’heure particuliers (tels que les noms des jours de la semaine dans une langue particulière) utilisés dans s sont définis par le paramètre provider, tout comme le format précis de s si format est une chaîne de spécificateur de format standard.The particular date and time symbols and strings (such as the names of the days of the week in a particular language) used in s are defined by the provider parameter, as is the precise format of s if format is a standard format specifier string. Le paramètre provider peut être l’un des éléments suivants :The provider parameter can be any of the following:

Si provider est null, l’objet CultureInfo qui correspond à la culture actuelle est utilisé.If provider is null, the CultureInfo object that corresponds to the current culture is used.

Le paramètre styles comprend un ou plusieurs membres de l’énumération DateTimeStyles qui déterminent si et où l’espace blanc non défini par format peut apparaître dans s et qui contrôlent le comportement précis de l’opération d’analyse.The styles parameter includes one or more members of the DateTimeStyles enumeration that determine whether and where white space not defined by format can appear in s and that control the precise behavior of the parse operation. Le tableau suivant décrit la façon dont chaque membre de l’énumération DateTimeStyles affecte le fonctionnement de la méthode TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime).The following table describes how each member of the DateTimeStyles enumeration affects the operation of the TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method.

Membre DateTimeStylesDateTimeStyles member DescriptionDescription
AdjustToUniversal Analyse s et, si nécessaire, le convertit en temps UTC.Parses s and, if necessary, converts it to UTC. Si s inclut un décalage de fuseau horaire, ou si s ne contient aucune information de fuseau horaire, mais que styles inclut l’indicateur DateTimeStyles.AssumeLocal, la méthode analyse la chaîne, appelle ToUniversalTime pour convertir la valeur DateTime retournée en heure UTC et définit la propriété Kind sur DateTimeKind.Utc.If s includes a time zone offset, or if s contains no time zone information but styles includes the DateTimeStyles.AssumeLocal flag, the method parses the string, calls ToUniversalTime to convert the returned DateTime value to UTC, and sets the Kind property to DateTimeKind.Utc. Si s indique qu’il représente l’heure UTC, ou si s ne contient pas d’informations de fuseau horaire mais que styles comprend l’indicateur DateTimeStyles.AssumeUniversal, la méthode analyse la chaîne, n’effectue aucune conversion de fuseau horaire sur la valeur DateTime retournée et définit la propriété Kind. pour DateTimeKind.Utc.If s indicates that it represents UTC, or if s does not contain time zone information but styles includes the DateTimeStyles.AssumeUniversal flag, the method parses the string, performs no time zone conversion on the returned DateTime value, and sets the Kind property to DateTimeKind.Utc. Dans tous les autres cas, l’indicateur n’a aucun effet.In all other cases, the flag has no effect.
AllowInnerWhite Spécifie que l’espace blanc non défini par format peut apparaître entre un élément de date ou d’heure spécifique.Specifies that white space not defined by format can appear between any individual date or time element.
AllowLeadingWhite Spécifie que l’espace blanc non défini par format peut apparaître au début de s.Specifies that white space not defined by format can appear at the beginning of s.
AllowTrailingWhite Spécifie que l’espace blanc non défini par format peut apparaître à la fin de s.Specifies that white space not defined by format can appear at the end of s.
AllowWhiteSpaces Spécifie que s peut contenir des espaces blancs de début, internes et de fin non définis par format.Specifies that s may contain leading, inner, and trailing white spaces not defined by format.
AssumeLocal Spécifie que si s ne dispose d’aucune information de fuseau horaire, il est supposé représenter une heure locale.Specifies that if s lacks any time zone information, it is assumed to represent a local time. À moins que l’indicateur DateTimeStyles.AdjustToUniversal soit présent, la propriété Kind de la valeur DateTime retournée est définie sur DateTimeKind.Local.Unless the DateTimeStyles.AdjustToUniversal flag is present, the Kind property of the returned DateTime value is set to DateTimeKind.Local.
AssumeUniversal Spécifie que si s ne dispose d’aucune information de fuseau horaire, il est supposé représenter l’heure UTC.Specifies that if s lacks any time zone information, it is assumed to represent UTC. À moins que l’indicateur DateTimeStyles.AdjustToUniversal soit présent, la méthode convertit la valeur DateTime retournée de l’heure UTC en heure locale et définit sa propriété Kind sur DateTimeKind.Local.Unless the DateTimeStyles.AdjustToUniversal flag is present, the method converts the returned DateTime value from UTC to local time and sets its Kind property to DateTimeKind.Local.
NoCurrentDateDefault Si s contient une heure sans informations de date, la date de la valeur de retour est définie sur DateTime.MinValue.Date.If s contains time without date information, the date of the return value is set to DateTime.MinValue.Date.
None Le paramètre s est analysé à l’aide des valeurs par défaut.The s parameter is parsed using default values. Aucun espace blanc autre que celui présent dans format n’est autorisé.No white space other than that present in format is allowed. Si s ne dispose pas d’un composant de date, la date de la valeur DateTime retournée est définie sur 1/1/0001.If s lacks a date component, the date of the returned DateTime value is set to 1/1/0001. Si s ne contient aucune information de fuseau horaire, la propriété Kind de l’objet DateTime retourné a la valeur DateTimeKind.Unspecified.If s contains no time zone information, the Kind property of the returned DateTime object is set to DateTimeKind.Unspecified. Si les informations de fuseau horaire sont présentes dans s, l’heure est convertie en heure locale et la propriété Kind de l’objet DateTime retourné a la valeur DateTimeKind.Local.If time zone information is present in s, the time is converted to local time and the Kind property of the returned DateTime object is set to DateTimeKind.Local.
RoundtripKind Pour les chaînes qui contiennent des informations de fuseau horaire, tente d’empêcher la conversion en une valeur DateTime avec sa propriété Kind définie sur DateTimeKind.Local.For strings that contain time zone information, tries to prevent the conversion to a DateTime value with its Kind property set to DateTimeKind.Local. Cet indicateur empêche principalement la conversion des heures UTC en heures locales.This flag primarily prevents the conversion of UTC times to local times.

Notes pour les appelants

Dans la .NET Framework 4.NET Framework 4, la méthode TryParseExact retourne 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 method returns false if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. Dans le .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.

Voir aussi

TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et heure en son équivalent DateTime à 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 DateTime equivalent using the specified array of formats, culture-specific format information, and style. Le format de la chaîne doit correspondre exactement à au moins un des formats spécifiés.The format of the string representation must match at least one of the specified formats exactly. La méthode retourne une valeur qui indique si la conversion a réussi.The method returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParseExact(System::String ^ s, cli::array <System::String ^> ^ formats, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (string s, string[] formats, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : string * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As String, formats As String(), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

Paramètres

s
String

Chaîne contenant une date et une heure à convertir.A string that contains a date and time to convert.

formats
String[]

Tableau de formats possibles pour s.An array of allowable formats of s.

provider
IFormatProvider

Objet qui fournit des informations de format spécifiques à la culture sur s.An object that supplies culture-specific format information about s.

style
DateTimeStyles

Combinaison d'opérations de bits de valeurs d'énumération qui indique le format autorisé du paramètre s.A bitwise combination of enumeration values that indicates the permitted format of s. Une valeur typique à spécifier est None.A typical value to specify is None.

result
DateTime

Quand cette méthode est retournée, contient la valeur de DateTime équivalente à la date et l'heure contenues dans s si la conversion a réussi, ou MinValue si elle a échoué.When this method returns, contains the DateTime value equivalent to the date and time contained in s, if the conversion succeeded, or MinValue if the conversion failed. La conversion échoue si s ou formats est null, si s ou un élément de formats est une chaîne vide, ou si la mise en forme de s ne correspond pas exactement à celle qui est spécifiée par au moins l'un des modèles de format dans formats.The conversion fails if s or formats is null, s or an element of formats is an empty string, or the format of s is not exactly as specified by at least one of the format patterns in formats. Ce paramètre est passé sans être initialisé.This parameter is passed uninitialized.

Retours

true si la conversion du paramètre s a réussi ; sinon, false.true if the s parameter was converted successfully; otherwise, false.

Exceptions

styles n’est pas une valeur de DateTimeStyles valide.styles is not a valid DateTimeStyles value.

- ou --or- styles contient une combinaison non valide de valeurs DateTimeStyles (par exemple, AssumeLocal et AssumeUniversal).styles contains an invalid combination of DateTimeStyles values (for example, both AssumeLocal and AssumeUniversal).

Exemples

L’exemple suivant utilise la méthode DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) pour garantir qu’une chaîne dans un certain nombre de formats possibles peut être analysée avec succès.The following example uses the DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method to ensure that a string in a number of possible formats can be successfully parsed .

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", 
                         "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", 
                         "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", 
                         "M/d/yyyy h:mm", "M/d/yyyy h:mm", 
                         "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"};
      string[] dateStrings = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", 
                              "5/1/2009 6:32:00", "05/01/2009 06:32", 
                              "05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"}; 
      DateTime dateValue;
      
      foreach (string dateString in dateStrings)
      {
         if (DateTime.TryParseExact(dateString, formats, 
                                    new CultureInfo("en-US"), 
                                    DateTimeStyles.None, 
                                    out dateValue))
            Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue);
         else
            Console.WriteLine("Unable to convert '{0}' to a date.", dateString);
      }
   }
}
// The example displays the following output:
//       Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
//       Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
//       Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
//       Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
//       Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
//       Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim formats() As String = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", _
                                 "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", _
                                 "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", _
                                 "M/d/yyyy h:mm", "M/d/yyyy h:mm", _
                                 "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"}
      Dim dateStrings() As String = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", _
                                     "5/1/2009 6:32:00", "05/01/2009 06:32", _
                                     "05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"} 

      Dim dateValue As DateTime
      
      For Each dateString As String In dateStrings
         If Date.TryParseExact(dateString, formats, _
                               New CultureInfo("en-US"), _
                               DateTimeStyles.None, _
                               dateValue) Then
            Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue)
         Else
            Console.WriteLine("Unable to convert '{0}' to a date.", dateString)
         End If                                               
      Next
   End Sub   
End Module
' The example displays the following output:
'       Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
'       Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
'       Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
'       Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
'       Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
'       Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.

Remarques

La méthode DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) analyse la représentation sous forme de chaîne d’une date qui correspond à l’un des modèles affectés au paramètre formats.The DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method parses the string representation of a date that matches any one of the patterns assigned to the formats parameter. Elle est semblable à la méthode DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles), à la différence près que la méthode TryParseExact ne lève pas d’exception en cas d’échec de la conversion.It is like the DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) method, except the TryParseExact method does not throw an exception if the conversion fails.

Le paramètre s contient la date et l’heure à analyser.The s parameter contains the date and time to parse. Si le paramètre s contient uniquement une heure et aucune date, la date actuelle est utilisée, sauf si le paramètre style inclut l’indicateur DateTimeStyles.NoCurrentDateDefault, auquel cas la date par défaut (DateTime.Date.MinValue) est utilisée.If the s parameter contains only a time and no date, the current date is used unless the style parameter includes the DateTimeStyles.NoCurrentDateDefault flag, in which case the default date (DateTime.Date.MinValue) is used. Si le paramètre s contient uniquement une date et aucune heure, minuit (00:00:00) est utilisé.If the s parameter contains only a date and no time, midnight (00:00:00) is used. Le paramètre style détermine également si le paramètre s peut contenir des espaces blancs de début, internes ou de fin autres que ceux autorisés par l’une des chaînes de format dans formats.The style parameter also determines whether the s parameter can contain leading, inner, or trailing white space characters other than those permitted by one of the format strings in formats.

Si s ne contient aucune information de fuseau horaire, la propriété Kind de l’objet DateTime retourné est DateTimeKind.Unspecified.If s contains no time zone information, the Kind property of the returned DateTime object is DateTimeKind.Unspecified. Ce comportement peut être modifié à l’aide de l’indicateur DateTimeStyles.AssumeLocal, qui retourne une valeur DateTime dont la propriété Kind est DateTimeKind.Local, ou à l’aide des indicateurs DateTimeStyles.AssumeUniversal et DateTimeStyles.AdjustToUniversal, qui retourne une valeur DateTime dont la propriété Kind est DateTimeKind.Utc.This behavior can be changed by using the DateTimeStyles.AssumeLocal flag, which returns a DateTime value whose Kind property is DateTimeKind.Local, or by using the DateTimeStyles.AssumeUniversal and DateTimeStyles.AdjustToUniversal flags, which returns a DateTime value whose Kind property is DateTimeKind.Utc. Si s contient des informations de fuseau horaire, l’heure est convertie en heure locale, si nécessaire, et la propriété Kind de l’objet DateTime retourné a la valeur DateTimeKind.Local.If s contains time zone information, the time is converted to local time, if necessary, and the Kind property of the returned DateTime object is set to DateTimeKind.Local. Ce comportement peut être modifié à l’aide de l’indicateur DateTimeStyles.RoundtripKind pour ne pas convertir le temps universel coordonné (UTC, Universal Time Coordinated) en heure locale et définir la propriété Kind sur DateTimeKind.Utc.This behavior can be changed by using the DateTimeStyles.RoundtripKind flag to not convert Coordinated Universal Time (UTC) to a local time and set the Kind property to DateTimeKind.Utc.

Le paramètre formats contient un tableau de modèles, dont l’un s doit correspondre exactement si l’opération d’analyse doit être effectuée correctement.The formats parameter contains an array of patterns, one of which s must match exactly if the parse operation is to succeed. Les modèles du paramètre formats se composent d’un ou de plusieurs spécificateurs de format personnalisés du tableau de chaînes de format de date et d’heure personnalisé , ou d’un spécificateur de format standard unique, qui identifie un modèle prédéfini, à partir de la date et de l’heure standard Tableau de chaînes de format.The patterns in the formats parameter consist of one or more custom format specifiers from the Custom Date and Time Format Strings table, or a single standard format specifier, which identifies a predefined pattern, from the Standard Date and Time Format Strings table.

Si vous n’utilisez pas de séparateurs de date ou d’heure dans un modèle de format personnalisé, utilisez la culture dite indifférente pour le paramètre provider et la forme la plus étendue de chaque spécificateur de format personnalisé.If you do not use date or time separators in a custom format pattern, use the invariant culture for the provider parameter and the widest form of each custom format specifier. Par exemple, si vous souhaitez spécifier des heures dans le modèle, spécifiez la forme plus large, « HH », au lieu de la forme plus étroite, « H ».For example, if you want to specify hours in the pattern, specify the wider form, "HH", instead of the narrower form, "H".

Les symboles et les chaînes de date et d’heure particuliers (tels que les noms des jours de la semaine dans une langue particulière) utilisés dans s sont définis par le paramètre provider, tout comme le format précis de s si format est une chaîne de spécificateur de format standard.The particular date and time symbols and strings (such as the names of the days of the week in a particular language) used in s are defined by the provider parameter, as is the precise format of s if format is a standard format specifier string. Le paramètre provider peut être l’un des éléments suivants :The provider parameter can be any of the following:

Si provider est null, l’objet CultureInfo qui correspond à la culture actuelle est utilisé.If provider is null, the CultureInfo object that corresponds to the current culture is used.

Le paramètre styles comprend un ou plusieurs membres de l’énumération DateTimeStyles qui déterminent si et où l’espace blanc non défini par format peut apparaître dans s et qui contrôlent le comportement précis de l’opération d’analyse.The styles parameter includes one or more members of the DateTimeStyles enumeration that determine whether and where white space not defined by format can appear in s and that control the precise behavior of the parse operation. Le tableau suivant décrit la façon dont chaque membre de l’énumération DateTimeStyles affecte le fonctionnement de la méthode TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime).The following table describes how each member of the DateTimeStyles enumeration affects the operation of the TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method.

Membre DateTimeStylesDateTimeStyles member DescriptionDescription
AdjustToUniversal Analyse s et, si nécessaire, le convertit en temps UTC.Parses s and, if necessary, converts it to UTC. Si s inclut un décalage de fuseau horaire, ou si s ne contient aucune information de fuseau horaire, mais que styles inclut l’indicateur DateTimeStyles.AssumeLocal, la méthode analyse la chaîne, appelle ToUniversalTime pour convertir la valeur DateTime retournée en heure UTC et définit la propriété Kind sur DateTimeKind.Utc.If s includes a time zone offset, or if s contains no time zone information but styles includes the DateTimeStyles.AssumeLocal flag, the method parses the string, calls ToUniversalTime to convert the returned DateTime value to UTC, and sets the Kind property to DateTimeKind.Utc. Si s indique qu’il représente l’heure UTC, ou si s ne contient pas d’informations de fuseau horaire mais que styles comprend l’indicateur DateTimeStyles.AssumeUniversal, la méthode analyse la chaîne, n’effectue aucune conversion de fuseau horaire sur la valeur DateTime retournée et définit la propriété Kind. pour DateTimeKind.Utc.If s indicates that it represents UTC, or if s does not contain time zone information but styles includes the DateTimeStyles.AssumeUniversal flag, the method parses the string, performs no time zone conversion on the returned DateTime value, and sets the Kind property to DateTimeKind.Utc. Dans tous les autres cas, l’indicateur n’a aucun effet.In all other cases, the flag has no effect.
AllowInnerWhite Spécifie que l’espace blanc non défini par format peut apparaître entre un élément de date ou d’heure spécifique.Specifies that white space not defined by format can appear between any individual date or time element.
AllowLeadingWhite Spécifie que l’espace blanc non défini par format peut apparaître au début de s.Specifies that white space not defined by format can appear at the beginning of s.
AllowTrailingWhite Spécifie que l’espace blanc non défini par format peut apparaître à la fin de s.Specifies that white space not defined by format can appear at the end of s.
AllowWhiteSpaces Spécifie que s peut contenir des espaces blancs de début, internes et de fin non définis par format.Specifies that s may contain leading, inner, and trailing white spaces not defined by format.
AssumeLocal Spécifie que si s ne dispose d’aucune information de fuseau horaire, il est supposé représenter une heure locale.Specifies that if s lacks any time zone information, it is assumed to represent a local time. À moins que l’indicateur DateTimeStyles.AdjustToUniversal soit présent, la propriété Kind de la valeur DateTime retournée est définie sur DateTimeKind.Local.Unless the DateTimeStyles.AdjustToUniversal flag is present, the Kind property of the returned DateTime value is set to DateTimeKind.Local.
AssumeUniversal Spécifie que si s ne dispose d’aucune information de fuseau horaire, il est supposé représenter l’heure UTC.Specifies that if s lacks any time zone information, it is assumed to represent UTC. À moins que l’indicateur DateTimeStyles.AdjustToUniversal soit présent, la méthode convertit la valeur DateTime retournée de l’heure UTC en heure locale et définit sa propriété Kind sur DateTimeKind.Local.Unless the DateTimeStyles.AdjustToUniversal flag is present, the method converts the returned DateTime value from UTC to local time and sets its Kind property to DateTimeKind.Local.
NoCurrentDateDefault Si s contient une heure sans informations de date, la date de la valeur de retour est définie sur DateTime.MinValue.Date.If s contains time without date information, the date of the return value is set to DateTime.MinValue.Date.
None Le paramètre s est analysé à l’aide des valeurs par défaut.The s parameter is parsed using default values. Aucun espace blanc autre que celui présent dans format n’est autorisé.No white space other than that present in format is allowed. Si s ne dispose pas d’un composant de date, la date de la valeur DateTime retournée est définie sur 1/1/0001.If s lacks a date component, the date of the returned DateTime value is set to 1/1/0001. Si s ne contient aucune information de fuseau horaire, la propriété Kind de l’objet DateTime retourné a la valeur DateTimeKind.Unspecified.If s contains no time zone information, the Kind property of the returned DateTime object is set to DateTimeKind.Unspecified. Si les informations de fuseau horaire sont présentes dans s, l’heure est convertie en heure locale et la propriété Kind de l’objet DateTime retourné a la valeur DateTimeKind.Local.If time zone information is present in s, the time is converted to local time and the Kind property of the returned DateTime object is set to DateTimeKind.Local.
RoundtripKind Pour les chaînes qui contiennent des informations de fuseau horaire, tente d’empêcher la conversion en une valeur DateTime avec sa propriété Kind définie sur DateTimeKind.Local.For strings that contain time zone information, tries to prevent the conversion to a DateTime value with its Kind property set to DateTimeKind.Local. Cet indicateur empêche principalement la conversion des heures UTC en heures locales.This flag primarily prevents the conversion of UTC times to local times.

Notes pour les appelants

Dans la .NET Framework 4.NET Framework 4, la méthode TryParseExact retourne 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 method returns false if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. Dans le .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.

Voir aussi

S’applique à