DateTime.TryParse DateTime.TryParse DateTime.TryParse DateTime.TryParse Method

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

Surcharges

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTime et retourne une valeur qui indique si la conversion a réussi.Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTime à l'aide des informations de format et du style de mise en forme propres à la culture spécifiés, et retourne une valeur qui indique si la conversion a réussi.Converts the specified string representation of a date and time to its DateTime equivalent using the specified culture-specific format information and formatting style, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime)

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.

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

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

Paramètres

Retours

TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTime et retourne une valeur qui indique si la conversion a réussi.Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse (string s, out DateTime result);
static member TryParse : string * DateTime -> bool
Public Shared Function TryParse (s As String, ByRef result As DateTime) As Boolean

Paramètres

s
String String String String

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

result
DateTime DateTime DateTime 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 est null, est une chaîne vide ("") ou ne contient pas de représentation sous forme de chaîne valide d'une date et d'une heure.The conversion fails if the s parameter is null, is an empty string (""), or does not contain a valid string representation of a date and time. 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.

Exemples

L’exemple suivant passe plusieurs chaînes de date et d’heure à la méthode DateTime.TryParse(String, DateTime).The following example passes a number of date and time strings to the DateTime.TryParse(String, DateTime) method.

using namespace System;
using namespace System::Globalization;

void main()
{
   array<String^>^ dateStrings = { "05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8", 
                                   "2009-05-01T14:57:32.8375298-04:00", 
                                    "5/01/2008 14:57:32.80 -07:00", 
                                    "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM", 
                                    "Fri, 15 May 2009 20:10:57 GMT" };
   DateTime dateValue;

   Console::WriteLine("Attempting to parse strings using {0} culture.", 
                     CultureInfo::CurrentCulture->Name);
   for each (String^ dateString in dateStrings)
   {
      if (DateTime::TryParse(dateString, dateValue)) 
         Console::WriteLine("  Converted '{0}' to {1} ({2}).", dateString, 
                           dateValue, dateValue.Kind);
      else
         Console::WriteLine("  Unable to parse '{0}'.", dateString);
   }
}
// The example displays the following output: 
//    Attempting to parse strings using en-US culture. 
//       Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified). 
//       Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified). 
//       Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local). 
//       Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local). 
//       Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified). 
//       Unable to parse '16-05-2009 1:00:32 PM'. 
//       Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
                              "2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
                              "5/01/2008 14:57:32.80 -07:00", 
                              "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM", 
                              "Fri, 15 May 2009 20:10:57 GMT" };
      DateTime dateValue;
      
      Console.WriteLine("Attempting to parse strings using {0} culture.", 
                        CultureInfo.CurrentCulture.Name);
      foreach (string dateString in dateStrings)
      {
         if (DateTime.TryParse(dateString, out dateValue)) 
            Console.WriteLine("  Converted '{0}' to {1} ({2}).", dateString, 
                              dateValue, dateValue.Kind);
         else
            Console.WriteLine("  Unable to parse '{0}'.", dateString);
      }
   }
}
// The example displays output like the following:
//    Attempting to parse strings using en-US culture.
//      Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
//      Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
//      Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
//
//      Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
//      Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
//      Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
//      Unable to parse '16-05-2009 1:00:32 PM'.
//      Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim dateStrings() As String = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
                                     "2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
                                     "5/01/2008 14:57:32.80 -07:00",
                                     "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
                                     "Fri, 15 May 2009 20:10:57 GMT"}
      Dim dateValue As Date
      
      Console.WriteLine("Attempting to parse strings using {0} culture.", _
                        CultureInfo.CurrentCulture.Name)
      For Each dateString As String In dateStrings
         If Date.TryParse(dateString, dateValue) Then
            Console.WriteLine("  Converted '{0}' to {1} ({2}).", dateString, _
                              dateValue, dateValue.Kind)
         Else
            Console.WriteLine("  Unable to parse '{0}'.", dateString)
         End If
      Next
   End Sub
End Module
' The example displays output like the following:
'    Attempting to parse strings using en-US culture.
'      Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
'      Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
'      Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
'
'      Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
'      Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
'      Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
'      Unable to parse '16-05-2009 1:00:32 PM'.
'      Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).

Remarques

La méthode DateTime.TryParse(String, DateTime) est semblable à la méthode DateTime.Parse(String), sauf que la méthode TryParse(String, DateTime) ne lève pas d’exception en cas d’échec de la conversion.The DateTime.TryParse(String, DateTime) method is similar to the DateTime.Parse(String) method, except that the TryParse(String, DateTime) method does not throw an exception if the conversion fails.

La chaîne s est analysée à l’aide des informations de mise en forme dans l’objet DateTimeFormatInfo actuel, qui est fourni implicitement par la culture du thread actuel.The string s is parsed using formatting information in the current DateTimeFormatInfo object, which is supplied implicitly by the current thread culture.

Cette méthode tente d’ignorer les données non reconnues, si possible, et remplit les informations sur le mois, le jour et l’année manquantes avec la date actuelle.This method tries to ignore unrecognized data, if possible, and fills in missing month, day, and year information with the current date. Si s contient uniquement une date et aucune heure, cette méthode suppose que l’heure est 12:00 minuit.If s contains only a date and no time, this method assumes the time is 12:00 midnight. Si s comprend un composant de date avec une année à deux chiffres, il est converti en une année dans le calendrier actuel de la culture actuelle, en fonction de la valeur de la propriété Calendar.TwoDigitYearMax.If s includes a date component with a two-digit year, it is converted to a year in the current culture's current calendar based on the value of the Calendar.TwoDigitYearMax property. Tout caractère d’espace blanc de début, interne ou de fin dans s est ignoré.Any leading, inner, or trailing white space character in s is ignored. La date et l’heure peuvent être placées entre des signes dièse (« # », U + 0023) et un ou plusieurs caractères NULL (U + 0000) peuvent être placés entre parenthèses.The date and time can be bracketed with a pair of leading and trailing NUMBER SIGN characters ('#', U+0023), and can be trailed with one or more NULL characters (U+0000).

Étant donné que la méthode DateTime.TryParse(String, DateTime) tente d’analyser la représentation sous forme de chaîne d’une date et d’une heure à l’aide des règles de mise en forme de la culture actuelle, la tentative d’analyse d’une chaîne particulière entre différentes cultures peut échouer ou retourner des résultats différents.Because the DateTime.TryParse(String, DateTime) method tries to parse the string representation of a date and time using the formatting rules of the current culture, trying to parse a particular string across different cultures can either fail or return different results. Si un format de date et d’heure spécifique est analysé à travers des paramètres régionaux différents, utilisez la méthode DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) ou l’une des surcharges de la méthode TryParseExact et fournissez un spécificateur de format.If a specific date and time format will be parsed across different locales, use the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method or one of the overloads of the TryParseExact method and provide a format specifier.

Si s est la représentation sous forme de chaîne d’un jour d’une année bissextile d’une année bissextile dans le calendrier actuel, la méthode analyse s avec succès.If s is the string representation of a leap day in a leap year in the current calendar, the method parses s successfully. Si s est la représentation sous forme de chaîne d’un jour d’une année bissextile d’une année non bissextile dans le calendrier actuel de la culture actuelle, l’opération d’analyse échoue et la méthode retourne false.If s is the string representation of a leap day in a non-leap year in the current culture's current calendar, the parse operation fails and the method returns false.

Si s ne contient aucune information de fuseau horaire, result contient une valeur DateTime dont la propriété Kind est DateTimeKind.Unspecified lorsque la méthode est retournée.If s contains no time zone information, result contains a DateTime value whose Kind property is DateTimeKind.Unspecified when the method returns. Si la chaîne à analyser contient des informations de fuseau horaire, result contient une valeur DateTime dont la propriété Kind est DateTimeKind.Local lorsque la méthode est retournée.If the string to be parsed contains time zone information, result contains a DateTime value whose Kind property is DateTimeKind.Local when the method returns.

Notes pour les appelants

La mise en forme est influencée par les propriétés de l’objet DateTimeFormatInfo actuel, qui sont dérivées par défaut de l’élément Options régionales et linguistiques du panneau de configuration.Formatting is influenced by properties of the current DateTimeFormatInfo object, which by default are derived from the Regional and Language Options item in Control Panel. La méthode TryParse peut échouer de manière inattendue et retourner False si les propriétés DateSeparator et TimeSeparator actuelles sont définies sur la même valeur.The TryParse method can unexpectedly fail and return False if the current DateSeparator and TimeSeparator properties are set to the same value.

Voir aussi

TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime)

Convertit la représentation sous forme de chaîne spécifiée d'une date et d'une heure en son équivalent DateTime à l'aide des informations de format et du style de mise en forme propres à la culture spécifiés, et retourne une valeur qui indique si la conversion a réussi.Converts the specified string representation of a date and time to its DateTime equivalent using the specified culture-specific format information and formatting style, and returns a value that indicates whether the conversion succeeded.

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

Paramètres

s
String String String String

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

provider
IFormatProvider IFormatProvider IFormatProvider 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.

styles
DateTimeStyles DateTimeStyles DateTimeStyles DateTimeStyles

Combinaison d'opérations de bits de valeurs d'énumération qui définit la manière d'interpréter les données analysées par rapport au fuseau horaire actuel ou à la date actuelle.A bitwise combination of enumeration values that defines how to interpret the parsed date in relation to the current time zone or the current date. Une valeur typique à spécifier est None.A typical value to specify is None.

result
DateTime DateTime DateTime 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 est null, est une chaîne vide ("") ou ne contient pas de représentation sous forme de chaîne valide d'une date et d'une heure.The conversion fails if the s parameter is null, is an empty string (""), or does not contain a valid string representation of a date and time. 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).

provider est une culture neutre et ne peut pas être utilisé dans une opération d’analyse.provider is a neutral culture and cannot be used in a parsing operation.

Exemples

L’exemple suivant illustre la méthode DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime).The following example illustrates the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString;
      CultureInfo culture;
      DateTimeStyles styles;
      DateTime dateResult;
      
      // Parse a date and time with no styles.
      dateString = "03/01/2009 10:00 AM";
      culture = CultureInfo.CreateSpecificCulture("en-US");
      styles = DateTimeStyles.None;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", 
                           dateString);
      
      // Parse the same date and time with the AssumeLocal style.
      styles = DateTimeStyles.AssumeLocal;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
      
      // Parse a date and time that is assumed to be local.
      // This time is five hours behind UTC. The local system's time zone is 
      // eight hours behind UTC.
      dateString = "2009/03/01T10:00:00-5:00";
      styles = DateTimeStyles.AssumeLocal;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
      
      // Attempt to convert a string in improper ISO 8601 format.
      dateString = "03/01/2009T10:00:00-5:00";
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);

      // Assume a date and time string formatted for the fr-FR culture is the local 
      // time and convert it to UTC.
      dateString = "2008-03-01 10:00";
      culture = CultureInfo.CreateSpecificCulture("fr-FR");
      styles = DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeLocal;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);

   }
}
// The example displays the following output to the console:
//       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
//       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
//       2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
//       Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
//       2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim dateString As String
      Dim culture As CultureInfo
      Dim styles As DateTimeStyles 
      Dim dateResult As DateTime
      
      ' Parse a date and time with no styles.
      dateString = "03/01/2009 10:00 AM"
      culture = CultureInfo.CreateSpecificCulture("en-US")
      styles = DateTimeStyles.None
      If DateTime.TryParse(dateString, culture, styles, dateResult) Then
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
      
      ' Parse the same date and time with the AssumeLocal style.
      styles = DateTimeStyles.AssumeLocal
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
      
      ' Parse a date and time that is assumed to be local.
      ' This time is five hours behind UTC. The local system's time zone is 
      ' eight hours behind UTC.
      dateString = "2009/03/01T10:00:00-5:00"
      styles = DateTimeStyles.AssumeLocal
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
      
      ' Attempt to convert a string in improper ISO 8601 format.
      dateString = "03/01/2009T10:00:00-5:00"
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      

      ' Assume a date and time string formatted for the fr-FR culture is the local 
      ' time and convert it to UTC.
      dateString = "2008-03-01 10:00"
      culture = CultureInfo.CreateSpecificCulture("fr-FR")
      styles = DateTimeStyles.AdjustToUniversal Or DateTimeStyles.AssumeLocal
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
   End Sub
End Module
' The example displays the following output to the console:
'       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
'       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
'       2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
'       Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
'       2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.

Remarques

La méthode DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) analyse une chaîne qui peut contenir des informations de date, d’heure et de fuseau horaire.The DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method parses a string that can contain date, time, and time zone information. Elle est semblable à la méthode DateTime.Parse(String, IFormatProvider, DateTimeStyles), sauf que la méthode DateTime.TryParse(String, DateTime) ne lève pas d’exception en cas d’échec de la conversion.It is similar to the DateTime.Parse(String, IFormatProvider, DateTimeStyles) method, except that the DateTime.TryParse(String, DateTime) method does not throw an exception if the conversion fails.

Cette méthode tente d’ignorer les données non reconnues et d’analyser complètement s.This method attempts to ignore unrecognized data and parse s completely. Si s contient une heure, mais pas de date, la méthode substitue par défaut la date actuelle ou, si styles inclut l’indicateur NoCurrentDateDefault, il remplace DateTime.Date.MinValue.If s contains a time but no date, the method by default substitutes the current date or, if styles includes the NoCurrentDateDefault flag, it substitutes DateTime.Date.MinValue. Si s contient une date, mais pas de temps, 12:00 minuit est utilisé comme heure par défaut.If s contains a date but no time, 12:00 midnight is used as the default time. Si une date est présente mais que son composant « année » se compose uniquement de deux chiffres, elle est convertie en année dans le calendrier actuel du paramètre provider, en fonction de la valeur de la propriété Calendar.TwoDigitYearMax.If a date is present but its year component consists of only two digits, it is converted to a year in the provider parameter's current calendar based on the value of the Calendar.TwoDigitYearMax property. Tous les caractères d’espace blanc de début, interne ou de fin dans s sont ignorés.Any leading, inner, or trailing white space characters in s are ignored. La date et l’heure peuvent être placées entre des signes dièse (« # », U + 0023) et un ou plusieurs caractères NULL (U + 0000) peuvent être placés entre parenthèses.The date and time can be bracketed with a pair of leading and trailing NUMBER SIGN characters ('#', U+0023), and can be trailed with one or more NULL characters (U+0000).

Les formats valides spécifiques pour les éléments de date et d’heure, ainsi que les noms et symboles utilisés dans les dates et les heures, sont définis par le paramètre provider, qui peut être l’un des éléments suivants :Specific valid formats for date and time elements, as well as the names and symbols used in dates and times, are defined by the provider parameter, which can be any of the following:

Si provider est null, la culture actuelle est utilisée.If provider is null, the current culture is used.

Si s est la représentation sous forme de chaîne d’un jour d’une année bissextile d’une année bissextile dans le calendrier actuel, la méthode analyse s avec succès.If s is the string representation of a leap day in a leap year in the current calendar, the method parses s successfully. Si s est la représentation sous forme de chaîne d’un jour d’une année bissextile d’une année non bissextile dans le calendrier actuel de provider, l’opération d’analyse échoue et la méthode retourne false.If s is the string representation of a leap day in a non-leap year in the current calendar of provider, the parse operation fails and the method returns false.

Le paramètre styles définit l’interprétation précise de la chaîne analysée et la manière dont l’opération d’analyse doit la gérer.The styles parameter defines the precise interpretation of the parsed string and how the parse operation should handle it. Il peut s’agir d’un ou plusieurs membres de l’énumération DateTimeStyles, comme décrit dans le tableau suivant.It can be one or more members of the DateTimeStyles enumeration, as described in the following table.

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 Bien que valide, cette valeur est ignorée.Although valid, this value is ignored. L’espace blanc interne est autorisé dans les éléments de date et d’heure de s.Inner white space is permitted in the date and time elements of s.
AllowLeadingWhite Bien que valide, cette valeur est ignorée.Although valid, this value is ignored. Un espace blanc de début est autorisé dans les éléments de date et d’heure de s.Leading white space is permitted in the date and time elements of s.
AllowTrailingWhite Bien que valide, cette valeur est ignorée.Although valid, this value is ignored. L’espace blanc de fin est autorisé dans les éléments de date et d’heure de s.Trailing white space is permitted in the date and time elements of s.
AllowWhiteSpaces Spécifie que s peut contenir des espaces blancs de début, internes et de fin.Specifies that s may contain leading, inner, and trailing white spaces. Il s'agit du comportement par défaut.This is the default behavior. Il ne peut pas être substitué en fournissant une valeur d’énumération DateTimeStyles plus restrictive comme DateTimeStyles.None.It cannot be overridden by supplying a more restrictive DateTimeStyles enumeration value such as DateTimeStyles.None.
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.
None Bien que valide, cette valeur est ignorée.Although valid, this value is ignored.
RoundtripKind Pour les chaînes qui contiennent des informations de fuseau horaire, tente d’empêcher la conversion d’une chaîne de date et d’heure en une valeur DateTime avec la propriété Kind ayant la valeur DateTimeKind.Local.For strings that contain time zone information, tries to prevent the conversion of a date and time string to a DateTime value with its Kind property set to DateTimeKind.Local. En règle générale, une telle chaîne est créée en appelant la méthode DateTime.ToString(String) à l’aide des spécificateurs de format standard « o », « r » ou « u ».Typically, such a string is created by calling the DateTime.ToString(String) method using either the "o", "r", or "u" standard format specifiers.

Si s ne contient aucune information de fuseau horaire, la méthode DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) retourne une valeur DateTime dont la propriété Kind est DateTimeKind.Unspecified, sauf si un indicateur styles indique une autre valeur.If s contains no time zone information, the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method returns a DateTime value whose Kind property is DateTimeKind.Unspecified unless a styles flag indicates otherwise. Si s comprend des informations de fuseau horaire ou de décalage de fuseau horaire, la méthode DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) effectue toute conversion d’heure nécessaire et retourne l’un des éléments suivants :If s includes time zone or time zone offset information, the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method performs any necessary time conversion and returns one of the following:

Ce comportement peut être remplacé à l’aide de l’indicateur DateTimeStyles.RoundtripKind.This behavior can be overridden by using the DateTimeStyles.RoundtripKind flag.

Analyse des cultures personnaliséesParsing Custom Cultures

Si vous analysez une chaîne de date et d’heure générée pour une culture personnalisée, utilisez la méthode TryParseExact à la place de la méthode TryParse pour améliorer la probabilité que l’opération d’analyse aboutisse.If you parse a date and time string generated for a custom culture, use the TryParseExact method instead of the TryParse method to improve the probability that the parse operation will succeed. Une chaîne de date et d’heure de culture personnalisée peut être compliquée et difficile à analyser.A custom culture date and time string can be complicated and difficult to parse. La méthode TryParse tente d’analyser une chaîne avec plusieurs modèles d’analyse implicite, qui peuvent tous échouer.The TryParse method attempts to parse a string with several implicit parse patterns, all of which might fail. En revanche, la méthode TryParseExact vous oblige à désigner explicitement un ou plusieurs modèles d’analyse exacts susceptibles d’être correctement exécutés.In contrast, the TryParseExact method requires you to explicitly designate one or more exact parse patterns that are likely to succeed.

Pour plus d’informations sur les cultures personnalisées, consultez la classe System.Globalization.CultureAndRegionInfoBuilder.For more information about custom cultures, see the System.Globalization.CultureAndRegionInfoBuilder class.

Notes pour les appelants

La mise en forme est influencée par les propriétés de l’objet DateTimeFormatInfo actuel, qui est fourni par le paramètre provider.Formatting is influenced by properties of the current DateTimeFormatInfo object, which is supplied by the provider parameter. La méthode TryParse peut échouer de manière inattendue et retourner False si les propriétés DateSeparator et TimeSeparator actuelles sont définies sur la même valeur.The TryParse method can unexpectedly fail and return False if the current DateSeparator and TimeSeparator properties are set to the same value.

Voir aussi

TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime)

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse (ReadOnlySpan<char> s, out DateTime result);
static member TryParse : ReadOnlySpan<char> * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As DateTime) As Boolean

Paramètres

Retours

S’applique à