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

Das folgende Beispiel übergibt eine Reihe von Datum und Uhrzeit-Zeichenfolgen, die DateTime.TryParse(String, DateTime) Methode.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, außer dass die TryParse(String, DateTime) Methode löst keine Ausnahme aus, wenn die Konvertierung schlägt fehl.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 Zeichenfolge s wird mithilfe von Formatierungsinformationen in die aktuelle analysiert DateTimeFormatInfo -Objekt, das implizit durch die aktuelle Threadkultur 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, die nicht erkannte Daten zu ignorieren, wenn möglich, und füllt fehlende Monat, Tag und Jahr Informationen mit dem aktuellen Datum.This method tries to ignore unrecognized data, if possible, and fills in missing month, day, and year information with the current date. Wenn s enthält nur ein Datum und keine Zeit, diese Methode setzt voraus, die Zeit ist 00:00 Uhr.If s contains only a date and no time, this method assumes the time is 12:00 midnight. Wenn s umfasst eine Datumskomponente durch eine zweistellige Jahresangabe wird eine Konvertierung in ein Jahr im aktuellen Kalender von der aktuellen Kultur basierend auf den Wert der Calendar.TwoDigitYearMax Eigenschaft.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 nachfolgende Leerzeichen in s wird ignoriert.Any leading, inner, or trailing white space character in s is ignored. Datum und Uhrzeit können mit einem Paar aus der führende und nachfolgende Nummernzeichen-Zeichen ("#", U + 0023) gekennzeichnet werden und eingeschlossen werden können, mit einem oder mehreren NULL-Zeichen (U + 0000).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 Zeichenfolgendarstellung eines Datums zu analysieren und mit den Formatierungsregeln für die aktuelle Kultur, die beim Analysieren von einer bestimmten Zeichenfolge in verschiedenen Kulturen kann entweder erfolgreich sein 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 Datum und Uhrzeit-Format in verschiedenen Gebietsschemas analysiert werden soll, verwenden Sie die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) -Methode oder eine der Überladungen der der TryParseExact Methode, und geben Sie einen Formatbezeichner.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 ist die Zeichenfolgendarstellung des ein Schalttag in einem Schaltjahr im aktuellen Kalender, die Methode analysiert s 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 ist die Zeichenfolgendarstellung des ein Schalttag in einem nicht-Schaltjahr im aktuellen Kalender der aktuellen Kultur, der Analysevorgang misslingt, und die Methode gibt 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.

Wenn s enthält keine Zeitzoneninformationen result enthält eine DateTime , deren Wert Kind Eigenschaft DateTimeKind.Unspecified bei Rückgabe der Methode.If s contains no time zone information, result contains a DateTime value whose Kind property is DateTimeKind.Unspecified when the method returns. Wenn die Zeichenfolge, die analysiert werden Zeitzoneninformationen, soll result enthält eine DateTime , deren Wert Kind Eigenschaft DateTimeKind.Local bei Rückgabe der Methode.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 beeinflusst DateTimeFormatInfo -Objekt, das standardmäßig von abgeleitet werden die Regions- und Sprachoptionen Element in der Systemsteuerung.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 unerwartet fehl und zurückgeben kann False Wenn die aktuelle DateSeparator und TimeSeparator Eigenschaften auf den gleichen Wert festgelegt werden.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

Das folgende Beispiel veranschaulicht die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode.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, Datum, Uhrzeit und Zeitzone Informationen enthalten kann.The DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method parses a string that can contain date, time, and time zone information. Es ähnelt der DateTime.Parse(String, IFormatProvider, DateTimeStyles) -Methode, außer dass die DateTime.TryParse(String, DateTime) Methode löst keine Ausnahme aus, wenn die Konvertierung schlägt fehl.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, die nicht erkannten Daten und Analyse ignorieren s vollständig.This method attempts to ignore unrecognized data and parse s completely. Wenn s enthält eine Uhrzeit, aber kein Datum, die Methode standardmäßig das aktuelle Datum oder, wenn Sie styles enthält die NoCurrentDateDefault , ersetzt 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. Wenn s enthält ein Datum, aber keine Zeit, 12:00 Mitternacht als die Standardzeit verwendet wird.If s contains a date but no time, 12:00 midnight is used as the default time. Wenn ein Datum vorhanden ist, aber die Jahreskomponente aus nur zwei Ziffern besteht, wird eine Konvertierung in ein Jahr in die provider aktuellen Kalender des Parameters basierend auf den Wert der Calendar.TwoDigitYearMax Eigenschaft.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 nachfolgende Leerzeichen in s werden ignoriert.Any leading, inner, or trailing white space characters in s are ignored. Datum und Uhrzeit können mit einem Paar aus der führende und nachfolgende Nummernzeichen-Zeichen ("#", U + 0023) gekennzeichnet werden und eingeschlossen werden können, mit einem oder mehreren NULL-Zeichen (U + 0000).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).

Spezifische gültige Formate für Datum und Uhrzeitelemente, als auch die Namen und Symbole der Datums- und Uhrzeitangaben, werden von definiert die provider -Parameter, der eine der folgenden sein kann: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 ist die Zeichenfolgendarstellung des ein Schalttag in einem Schaltjahr im aktuellen Kalender, die Methode analysiert s 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 ist die Zeichenfolgendarstellung des ein Schalttag in einem nicht-Schaltjahr im aktuellen Kalender der provider, wird der Analysevorgang misslingt, und die Methode gibt 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.

Die styles Parameter definiert die genaue Interpretation der analysierten Zeichenfolge und wie der Analysevorgang verarbeiten soll.The styles parameter defines the precise interpretation of the parsed string and how the parse operation should handle it. Es kann sein, ein oder mehrere Elemente von der DateTimeStyles Enumeration, wie in der folgenden Tabelle beschrieben.It can be one or more members of the DateTimeStyles enumeration, as described in the following table.

DateTimeStyles-ElementDateTimeStyles member BeschreibungDescription
AdjustToUniversal Analysiert s und, falls erforderlich, eine Konvertierung in UTC.Parses s and, if necessary, converts it to UTC. Wenn s einen Zeitzonenoffset umfasst oder wenn s enthält keine Zeitzoneninformationen aber styles enthält die DateTimeStyles.AssumeLocal Flag, das die Methode analysiert die Zeichenfolge, ruft ToUniversalTime zurückgegebenen konvertieren DateTime Wert in UTC , und legt die Kind Eigenschaft 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. Wenn s gibt an, dass es sich um UTC, darstellt oder wenn s enthält keine Informationen zur Zeitzone aber styles enthält die DateTimeStyles.AssumeUniversal Flag Methode analysiert die Zeichenfolge, die keine zeitzonenkonvertierung ausführt, für das zurückgegebene DateTime Wert und legt die Kind Eigenschaft 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. In allen anderen Fällen hat das Flag keine Auswirkungen.In all other cases, the flag has no effect.
AllowInnerWhite Obwohl gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored. Interne Leerzeichen sind zulässig, in den Elementen für Datum und Uhrzeit des s.Inner white space is permitted in the date and time elements of s.
AllowLeadingWhite Obwohl gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored. Führendes Leerzeichen sind zulässig, in den Elementen für Datum und Uhrzeit des s.Leading white space is permitted in the date and time elements of s.
AllowTrailingWhite Obwohl gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored. Nachfolgende Leerzeichen ist zulässig, in den Elementen für Datum und Uhrzeit des s.Trailing white space is permitted in the date and time elements of s.
AllowWhiteSpaces Gibt an, dass s führenden, inneren und nachgestellte Leerzeichen enthalten kann.Specifies that s may contain leading, inner, and trailing white spaces. Dies ist das Standardverhalten.This is the default behavior. Es kann nicht überschrieben werden, durch Angeben eines restriktiveren DateTimeStyles Enumerationswert wie z. B. DateTimeStyles.None.It cannot be overridden by supplying a more restrictive DateTimeStyles enumeration value such as DateTimeStyles.None.
AssumeLocal Gibt an, dass bei s verfügt nicht über alle Zeitzoneninformationen, es wird davon ausgegangen, um eine lokale Zeit darzustellen.Specifies that if s lacks any time zone information, it is assumed to represent a local time. Wenn die DateTimeStyles.AdjustToUniversal Flag vorhanden ist, ist die Kind -Eigenschaft des zurückgegebenen DateTime Wert wird festgelegt, um DateTimeKind.Local.Unless the DateTimeStyles.AdjustToUniversal flag is present, the Kind property of the returned DateTime value is set to DateTimeKind.Local.
AssumeUniversal Gibt an, dass bei s verfügt nicht über alle Zeitzoneninformationen, es wird davon ausgegangen, um die UTC darzustellen.Specifies that if s lacks any time zone information, it is assumed to represent UTC. Wenn die DateTimeStyles.AdjustToUniversal Flag vorhanden ist, wird die Methode konvertiert die zurückgegebene DateTime Wert zwischen UTC und Ortszeit und legt seine Kind Eigenschaft 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 Obwohl gültig ist, wird dieser Wert ignoriert.Although valid, this value is ignored.
RoundtripKind Für Zeichenfolgen, die Zeitzoneninformationen enthalten wird versucht, um zu verhindern, dass die Konvertierung einer Zeichenfolge für Datum und Uhrzeit in einer DateTime Wert mit einer der Kind -Eigenschaftensatz auf 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. In der Regel wird durch Aufrufen eine solchen Zeichenfolge erstellt die DateTime.ToString(String) Methode mithilfe der Standardformatbezeichner "o", "R" oder "u".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 enthält keine Zeitzoneninformationen der DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode gibt eine DateTime , deren Wert Kind -Eigenschaft ist DateTimeKind.Unspecified es sei denn, eine styles Flag nichts anderes angegeben.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 Zeitzone oder Offset Zeitzoneninformationen, enthält die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode führt Konvertierung erforderlichen Zeit und gibt einen 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, mithilfe der DateTimeStyles.RoundtripKind Flag.This behavior can be overridden by using the DateTimeStyles.RoundtripKind flag.

Analysieren von KulturenParsing Custom Cultures

Verwenden Sie eine Datum und Uhrzeit-Zeichenfolge, die für eine benutzerdefinierte Kultur generiert analysieren die TryParseExact -Methode anstelle der TryParse Methode, um die Wahrscheinlichkeit zu verbessern, die der Analysevorgang erfolgreich ist.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 Kultur Datums- und Uhrzeitzeichenfolge möglich komplizierten und schwer zu analysieren.A custom culture date and time string can be complicated and difficult to parse. Die TryParse -Methode versucht, eine Zeichenfolge anhand mehrerer implizite Analysemuster zu analysieren, die fehlschlagen.The TryParse method attempts to parse a string with several implicit parse patterns, all of which might fail. Im Gegensatz dazu die TryParseExact Methode müssen Sie mindestens eine exakte Analysemuster angeben, die voraussichtlich erfolgreich sein werden.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 den System.Globalization.CultureAndRegionInfoBuilder 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 beeinflusst DateTimeFormatInfo -Objekt, das vom bereitgestellt wird die provider Parameter.Formatting is influenced by properties of the current DateTimeFormatInfo object, which is supplied by the provider parameter. Die TryParse Methode unerwartet fehl und zurückgeben kann False Wenn die aktuelle DateSeparator und TimeSeparator Eigenschaften auf den gleichen Wert festgelegt werden.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: