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

Definition

Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde.Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

Überlädt

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)

Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde.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)

Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in die entsprechende DateTime und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.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)

Hinweise

Wichtig

Die Zeitrechnung in japanischen Kalendern basiert auf den Regierungsperioden der Kaiser und wird sich daher erwartungsgemäß ändern.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. Beispiel: Der 1. Mai 2019 markiert den Beginn des Reiwa-Zeitabschnitts in den Kalendern des Typs JapaneseCalendar und JapaneseLunisolarCalendar.For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. Eine derartige Änderung der Zeitabschnitte betrifft alle Anwendungen, die diese Kalender verwenden.Such a change of era affects all applications that use these calendars. Unter Handling a new era in the Japanese calendar in .NET (Umgang mit einem neuen Zeitabschnitt im japanischen Kalender in .NET) finden Sie weiter Informationen und wie Sie bestimmen können, ob Ihre Anwendungen ebenfalls betroffen sind.See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. Unter Prepare your application for the Japanese era change (Vorbereiten Ihrer Anwendung für die Änderung des Zeitabschnitts im japanischen Kalender) finden Sie Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um deren Bereitschaft für die Änderung im Zeitabschnitt sicherzustellen.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. Unter Arbeiten mit Zeiträumen finden Sie Informationen zu Funktionen in .NET, die Kalender mit mehreren Zeitabschnitten unterstützen, sowie bewährte Vorgehensweisen bei der Arbeit mit solchen Kalendern.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 *  -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean

Parameter

Gibt zurück

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

Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde.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 *  -> bool
Public Shared Function TryParse (s As String, ByRef result As DateTime) As Boolean

Parameter

s
String String String String

Eine Zeichenfolge, die eine zu konvertierende Datums- und Zeitangabe enthält.A string containing a date and time to convert.

result
DateTime DateTime DateTime DateTime

Diese Methode gibt bei erfolgreicher Konvertierung den DateTime-Wert zurück, der dem Datum und der Zeit in s entspricht, oder MinValue, wenn die Konvertierung nicht durchgeführt werden konnte.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. Die Konvertierung schlägt fehl, wenn der s-Parameter null bzw. eine leere Zeichenfolge ("") ist oder keine gültige Zeichenfolgendarstellung eines Datums und einer Uhrzeit enthält.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. Dieser Parameter wird nicht initialisiert übergeben.This parameter is passed uninitialized.

Gibt zurück

true, wenn der s-Parameter erfolgreich konvertiert wurde, andernfalls false.true if the s parameter was converted successfully; otherwise, false.

Beispiele

Im folgenden Beispiel werden eine Reihe von Datums-und Uhrzeit Zeichenfolgen an die DateTime.TryParse(String, DateTime) -Methode weitergeleitet.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).

Hinweise

Die DateTime.TryParse(String, DateTime) -Methode ähnelt der DateTime.Parse(String) -Methode, mit der Ausnahme TryParse(String, DateTime) , dass die-Methode keine Ausnahme auslöst, wenn bei der Konvertierung ein Fehler auftritt.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.

Die Zeichen s Folge wird mithilfe von Formatierungsinformationen im aktuellen DateTimeFormatInfo -Objekt analysiert, das implizit von der aktuellen Thread Kultur bereitgestellt wird.The string s is parsed using formatting information in the current DateTimeFormatInfo object, which is supplied implicitly by the current thread culture.

Diese Methode versucht, nicht erkannte Daten zu ignorieren, wenn möglich, und füllt fehlende Monats-, Tages-und Jahres Informationen mit dem aktuellen Datum aus.This method tries to ignore unrecognized data, if possible, and fills in missing month, day, and year information with the current date. Wenn s nur ein Datum und keine Uhrzeit enthält, geht diese Methode davon aus, dass die Uhrzeit 12:00 Mitternacht ist.If s contains only a date and no time, this method assumes the time is 12:00 midnight. Wenn s eine Datums Komponente mit einer zweistelligen Jahres Angabe enthält, wird Sie basierend auf dem Wert Calendar.TwoDigitYearMax der-Eigenschaft in ein Jahr im aktuellen Kalender der aktuellen Kultur konvertiert.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. Alle führenden, inneren oder nachfolgenden Leerzeichen in s werden ignoriert.Any leading, inner, or trailing white space character in s is ignored. Das Datum und die Uhrzeit können mit einem Paar von führenden und nachfolgenden Nummern Zeichen ("#", U + 0023) in Klammern gesetzt werden und können mit einem oder mehreren NULL-Zeichen (u + 0000) abgezogen werden.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).

Da die DateTime.TryParse(String, DateTime) -Methode versucht, die Zeichen folgen Darstellung eines Datums und einer Uhrzeit mit den Formatierungs Regeln der aktuellen Kultur zu analysieren, kann der Versuch, eine bestimmte Zeichenfolge über verschiedene Kulturen hinweg zu analysieren, fehlschlagen oder andere Ergebnisse zurückgeben.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. Wenn ein bestimmtes Datums-und Uhrzeit Format über verschiedene Gebiets Schemas analysiert wird, verwenden DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Sie die-Methode oder eine der über Ladungen TryParseExact der-Methode, und geben Sie einen Format Bezeichner an.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.

Wenn s die Zeichen folgen Darstellung eines Schalt Tags in einem Schaltjahr im aktuellen Kalender ist, s analysiert die Methode erfolgreich.If s is the string representation of a leap day in a leap year in the current calendar, the method parses s successfully. Wenn s die Zeichen folgen Darstellung eines Schalt Tags in einem nicht-Schaltjahr im aktuellen Kalender der aktuellen Kultur ist, schlägt der Analyse Vorgang fehl, und die Methode gibt falsezurück.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.

Wenn s keine Zeitzoneninformationen enthält, result enthält einen DateTime Wert, Kind dessen- DateTimeKind.Unspecified Eigenschaft der Wert ist, wenn die Methode zurückgibt.If s contains no time zone information, result contains a DateTime value whose Kind property is DateTimeKind.Unspecified when the method returns. Wenn die zu erteilende Zeichenfolge Zeitzoneninformationen enthält result , enthält DateTime einen Wert Kind , dessen DateTimeKind.Local -Eigenschaft der Wert ist, wenn die Methode zurückgegeben wird.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.

Hinweise für Aufrufer

Die Formatierung wird durch die Eigenschaften des aktuellen DateTimeFormatInfo -Objekts beeinflusst, die standardmäßig vom Element Regions -und Sprachoptionen in der Systemsteuerung abgeleitet werden.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. Die TryParse -Methode kann unerwartet ausfallen und False zurückgeben, DateSeparator Wenn TimeSeparator die aktuellen-Eigenschaft und die-Eigenschaft auf denselben Wert festgelegt sind.The TryParse method can unexpectedly fail and return False if the current DateSeparator and TimeSeparator properties are set to the same value.

Siehe auch

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

Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in die entsprechende DateTime und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.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 *  -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean

Parameter

s
String String String String

Eine Zeichenfolge, die eine zu konvertierende Datums- und Zeitangabe enthält.A string containing a date and time to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.An object that supplies culture-specific formatting information about s.

styles
DateTimeStyles DateTimeStyles DateTimeStyles DateTimeStyles

Eine bitweise Kombination von Enumerationswerten, die festlegt, wie das analysierte Datum in Bezug auf die aktuelle Zeitzone oder das aktuelle Datum interpretiert werden soll.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. Ein häufig angegebener Wert ist None.A typical value to specify is None.

result
DateTime DateTime DateTime DateTime

Diese Methode gibt bei erfolgreicher Konvertierung den DateTime-Wert zurück, der dem Datum und der Zeit in s entspricht, oder MinValue, wenn die Konvertierung nicht durchgeführt werden konnte.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. Die Konvertierung schlägt fehl, wenn der s-Parameter null bzw. eine leere Zeichenfolge ("") ist oder keine gültige Zeichenfolgendarstellung eines Datums und einer Uhrzeit enthält.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. Dieser Parameter wird nicht initialisiert übergeben.This parameter is passed uninitialized.

Gibt zurück

true, wenn der s-Parameter erfolgreich konvertiert wurde, andernfalls false.true if the s parameter was converted successfully; otherwise, false.

Ausnahmen

styles ist kein gültiger DateTimeStyles-Wert.styles is not a valid DateTimeStyles value.

- oder --or- styles enthält eine ungültige Kombination von DateTimeStyles-Werten (z. B. AssumeLocal und AssumeUniversal).styles contains an invalid combination of DateTimeStyles values (for example, both AssumeLocal and AssumeUniversal).

provider eine neutrale Kultur und kann nicht in einem Analysevorgang verwendet werden.provider is a neutral culture and cannot be used in a parsing operation.

Beispiele

Im folgenden Beispiel wird die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) -Methode veranschaulicht.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.

Hinweise

Die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) -Methode analysiert eine Zeichenfolge, die Datums-, Uhrzeit-und Zeitzoneninformationen enthalten kann.The DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method parses a string that can contain date, time, and time zone information. Die-Methode ähnelt der DateTime.Parse(String, IFormatProvider, DateTimeStyles) -Methode, mit der DateTime.TryParse(String, DateTime) Ausnahme, dass die-Methode keine Ausnahme auslöst, wenn bei der Konvertierung ein Fehler auftritt.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.

Diese Methode versucht, nicht erkannte Daten zu ignorieren und s vollständig zu analysieren.This method attempts to ignore unrecognized data and parse s completely. Wenn s eine Uhrzeit, aber kein Datum enthält, ersetzt die-Methode standardmäßig das aktuelle Datum oder styles , wenn NoCurrentDateDefault das-Flag enthält DateTime.Date.MinValue, ersetzt es.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. Wenn s ein Datum, aber keine Uhrzeit enthält, wird 12:00 Mitternacht als Standardzeit verwendet.If s contains a date but no time, 12:00 midnight is used as the default time. Wenn ein Datum vorhanden ist, aber seine Jahres Komponente nur aus zwei Ziffern besteht, wird es basierend auf dem Wert provider Calendar.TwoDigitYearMax der-Eigenschaft in ein Jahr im aktuellen Kalender des Parameters konvertiert.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. Alle führenden, inneren oder nachfolgenden Leerzeichen in s werden ignoriert.Any leading, inner, or trailing white space characters in s are ignored. Das Datum und die Uhrzeit können mit einem Paar von führenden und nachfolgenden Nummern Zeichen ("#", U + 0023) in Klammern gesetzt werden und können mit einem oder mehreren NULL-Zeichen (u + 0000) abgezogen werden.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).

Bestimmte gültige Formate für Datums-und Uhrzeit Elemente sowie die Namen und Symbole, die in Datums-und Uhrzeitangaben verwendet werden provider , werden durch den-Parameter definiert. folgende Werte sind möglich: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:

Wenn provider null ist, wird die aktuelle Kultur verwendet.If provider is null, the current culture is used.

Wenn s die Zeichen folgen Darstellung eines Schalt Tags in einem Schaltjahr im aktuellen Kalender ist, s analysiert die Methode erfolgreich.If s is the string representation of a leap day in a leap year in the current calendar, the method parses s successfully. Wenn s die Zeichen folgen Darstellung eines Schalt Tags in einem nicht-Schaltjahr im aktuellen Kalender von providerist, schlägt der Analyse Vorgang fehl, und die Methode gibt falsezurück.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.

Der styles -Parameter definiert die genaue Interpretation der analysierten Zeichenfolge und deren Behandlung durch den Analyse Vorgang.The styles parameter defines the precise interpretation of the parsed string and how the parse operation should handle it. Dies kann ein oder mehrere Member der DateTimeStyles -Enumeration sein, wie in der folgenden Tabelle beschrieben.It can be one or more members of the DateTimeStyles enumeration, as described in the following table.

DateTimeStyles-MemberDateTimeStyles member BeschreibungDescription
AdjustToUniversal s Analysiert und konvertiert ggf. in UTC.Parses s and, if necessary, converts it to UTC. Wenn s einen Zeit Zonen Offset enthält oder wenn s keine Zeitzoneninformationen enthält, sondern styles das DateTimeStyles.AssumeLocal -Flag enthält, analysiert die-Methode die Zeichenfolge ToUniversalTime , und ruft auf DateTime , um den zurückgegebenen Wert in UTC zu konvertieren. , und legt die Kind -Eigenschaft DateTimeKind.Utcauf fest.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. Wenn s angibt, dass es sich um UTC handelt s , oder wenn keine Zeitzoneninformationen styles enthält, DateTimeStyles.AssumeUniversal sondern das-Flag enthält, analysiert die Methode die Zeichenfolge, führt keine Zeit Zonen DateTime Konvertierung für die zurückgegebene aus. , und legt die Kind -Eigenschaft auf DateTimeKind.Utcfest.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. In allen anderen Fällen hat das Flag keine Auswirkung.In all other cases, the flag has no effect.
AllowInnerWhite Obwohl der Wert gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored. Innere Leerzeichen sind in den Datums-und Uhrzeit Elementen von szulässig.Inner white space is permitted in the date and time elements of s.
AllowLeadingWhite Obwohl der Wert gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored. Führende Leerzeichen sind in den Datums-und Uhrzeit Elementen von szulässig.Leading white space is permitted in the date and time elements of s.
AllowTrailingWhite Obwohl der Wert gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored. Nachfolgende Leerzeichen sind in den Datums-und Uhrzeit Elementen svon zulässig.Trailing white space is permitted in the date and time elements of s.
AllowWhiteSpaces Gibt an s , dass möglicherweise führende, innere und nachfolgende Leerzeichen enthält.Specifies that s may contain leading, inner, and trailing white spaces. Dies ist das Standardverhalten.This is the default behavior. Sie kann nicht überschrieben werden, indem Sie einen DateTimeStyles restriktiveren Enumerationswert DateTimeStyles.Nonewie angeben.It cannot be overridden by supplying a more restrictive DateTimeStyles enumeration value such as DateTimeStyles.None.
AssumeLocal Gibt an, s dass, wenn keine Zeitzoneninformationen fehlt, angenommen wird, dass es sich um eine lokale Zeit handelt.Specifies that if s lacks any time zone information, it is assumed to represent a local time. Wenn das DateTimeStyles.AdjustToUniversal -Flag nicht vorhanden ist Kind , wird die- DateTime Eigenschaft des zurückgegebenen DateTimeKind.LocalWerts auf festgelegt.Unless the DateTimeStyles.AdjustToUniversal flag is present, the Kind property of the returned DateTime value is set to DateTimeKind.Local.
AssumeUniversal Gibt an, s dass, wenn keine Zeitzoneninformationen fehlt, angenommen wird, dass die UTC-Zeitangabe erfolgt.Specifies that if s lacks any time zone information, it is assumed to represent UTC. Wenn das DateTimeStyles.AdjustToUniversal -Flag nicht vorhanden ist, konvertiert die- DateTime Methode den zurückgegebenen Wert von UTC in die Kind lokale Zeit DateTimeKind.Localund legt seine-Eigenschaft auf fest.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 Obwohl der Wert gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored.
RoundtripKind Bei Zeichen folgen, die Zeitzoneninformationen enthalten, versucht, die Konvertierung von Datums-und Uhrzeit Zeichenfolgen in einen DateTime -Wert zu DateTimeKind.Localverhindern, dessen Kind -Eigenschaft auf festgelegt ist.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. In der Regel wird eine solche Zeichenfolge durch Aufrufen DateTime.ToString(String) der-Methode entweder mithilfe der Standardformat Bearbeiter "o", "r" oder "u" erstellt.Typically, such a string is created by calling the DateTime.ToString(String) method using either the "o", "r", or "u" standard format specifiers.

Wenn s keine Zeitzoneninformationen enthält, gibt DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) die Methode einen DateTime Wert zurück Kind , dessen DateTimeKind.Unspecified -Eigenschaft styles ist, wenn ein Flag nicht anders angibt.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. Wenn s Zeit Zonen-oder Zeit Zonen Offset-Informationen enthält DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) , führt die-Methode jede erforderliche Zeit Konvertierung durch und gibt eines der folgenden zurück: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:

Dieses Verhalten kann überschrieben werden, indem Sie DateTimeStyles.RoundtripKind das-Flag verwenden.This behavior can be overridden by using the DateTimeStyles.RoundtripKind flag.

Benutzerdefinierte Kulturen werden verarbeitet.Parsing Custom Cultures

Wenn Sie eine Datums-und Uhrzeit Zeichenfolge analysieren, die für eine benutzerdefinierte TryParseExact Kultur generiert wurde, TryParse verwenden Sie die-Methode anstelle der-Methode, um die Wahrscheinlichkeit zu erhöhen, dass der Analyse Vorgang erfolgreich ausgeführt wird.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. Eine benutzerdefinierte Datums-und Uhrzeit Zeichenfolge für die Kultur kann kompliziert und schwer zu analysieren sein.A custom culture date and time string can be complicated and difficult to parse. Die TryParse -Methode versucht, eine Zeichenfolge mit mehreren impliziten Analyse Mustern zu analysieren, die möglicherweise fehlschlagen.The TryParse method attempts to parse a string with several implicit parse patterns, all of which might fail. Im Gegensatz dazu erfordert TryParseExact die-Methode, dass Sie explizit ein oder mehrere exakte Analyse Muster festlegen, die wahrscheinlich erfolgreich sind.In contrast, the TryParseExact method requires you to explicitly designate one or more exact parse patterns that are likely to succeed.

Weitere Informationen zu benutzerdefinierten Kulturen finden Sie unter System.Globalization.CultureAndRegionInfoBuilder der-Klasse.For more information about custom cultures, see the System.Globalization.CultureAndRegionInfoBuilder class.

Hinweise für Aufrufer

Die Formatierung wird durch die Eigenschaften des aktuellen DateTimeFormatInfo -Objekts beeinflusst, das durch den provider -Parameter angegeben wird.Formatting is influenced by properties of the current DateTimeFormatInfo object, which is supplied by the provider parameter. Die TryParse -Methode kann unerwartet ausfallen und False zurückgeben, DateSeparator Wenn TimeSeparator die aktuellen-Eigenschaft und die-Eigenschaft auf denselben Wert festgelegt sind.The TryParse method can unexpectedly fail and return False if the current DateSeparator and TimeSeparator properties are set to the same value.

Siehe auch

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> *  -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As DateTime) As Boolean

Parameter

Gibt zurück

Gilt für: