Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

DateTime.ParseExact-Methode (String, String, IFormatProvider)

Konvertiert die angegebene Zeichenfolgenentsprechung einer Datums- und Uhrzeitangabe unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende DateTime. Das Format der Zeichenfolgenentsprechung muss dem angegebenen Format genau entsprechen.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public static DateTime ParseExact(
	string s,
	string format,
	IFormatProvider provider
)

Parameter

s
Typ: System.String
Eine Zeichenfolge, die die zu konvertierende Datums- und Zeitangabe enthält.
format
Typ: System.String
Ein Formatbezeichner, der das erforderliche Format von s definiert.
provider
Typ: System.IFormatProvider
Ein Objekt, das kulturspezifische Formatinformationen zu s bereitstellt.

Rückgabewert

Typ: System.DateTime
Ein Objekt, das der in s enthaltenen Datums- und Uhrzeitangabe nach den Angaben von format und provider entspricht.
Ausnahme Bedingung
ArgumentNullException

s oder format ist null.

FormatException

s oder format ist eine leere Zeichenfolge.

– oder –

s enthält kein Datum und keine Uhrzeit, die einem der in format angegebenen Muster entsprechen.

– oder –

Die Stundenkomponente und der AM/PM-Kennzeichner in s stimmen nicht überein.

Die DateTime.ParseExact(String, String, IFormatProvider)-Methode analysiert die Zeichenfolgendarstellung eines Datums, die das durch den format-Parameter definierte Format aufweisen muss. Außerdem müssen die Elemente <Date> und <Time> der Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in der von format angegebenen Reihenfolge aufgeführt werden, und s darf nur den Leerraum enthalten, der von format zugelassen wird. Wenn format ein Datum ohne Zeitelement definiert und die Analyseoperation erfolgreich ist, weist der daraus resultierende DateTime-Wert die Zeit Mitternacht (00:00:00) auf. Wenn format eine Zeit ohne Datumselement definiert und die Analyseoperation erfolgreich ist, weist der daraus resultierende DateTime-Wert das Datum DateTime.Now.Date auf.

Wenn s keine Uhrzeit in einer bestimmten Zeitzone darstellt und der Analysevorgang erfolgreich abgeschlossen wird, ist die Kind-Eigenschaft des zurückgegebenen DateTime-Werts DateTimeKind.Unspecified. Wenn s die Uhrzeit in einer bestimmten Zeitzone darstellt und format die Angabe von Zeitzoneninformationen zulässt (wenn format z. B. dem Standardformatbezeichner o, r oder u entspricht oder wenn die benutzerdefinierten Formatbezeichner z, zz oder zzz enthalten sind), ist die Kind-Eigenschaft des zurückgegebenen DateTime-Werts DateTimeKind.Local.

Der format-Parameter ist eine Zeichenfolge, die entweder einen einzelnen Standardformatbezeichner oder mindestens einen benutzerdefinierten Formatbezeichner enthält, der das erforderliche Format von s definiert. Ausführliche Informationen zu gültigen Formatierungscodes finden Sie unter Datums- und Uhrzeitstandardformatzeichenfolgen oder Benutzerdefinierte und DateTime-Formatzeichenfolgen.

Hinweis Hinweis

Wenn format ein benutzerdefiniertes Formatmuster ist, das keine Datums- oder Uhrzeittrennzeichen enthält (z. B. "yyyyMMdd HHmm"), verwenden Sie die invariante Kultur für den provider-Parameter und die längste Form für die einzelnen benutzerdefinierten Formatbezeichner. Wenn Sie z. B. Stunden im Formatmuster angeben möchten, geben Sie die längere Form "HH" anstelle der kürzeren Form "H" an.

Die in s verwendeten spezifischen Symbole und Zeichenfolgen für Datum und Uhrzeit (wie die Namen der Wochentage in einer bestimmten Sprache) werden vom provider-Parameter definiert, ebenso wie das exakte Format von s, wenn format eine standardmäßige Formatbezeichner-Zeichenfolge ist. Bei dem provider-Parameter kann es sich um eines der folgenden Elemente handeln:

Wenn provider den Wert null hat, wird das CultureInfo-Objekt verwendet, das der aktuellen Kultur entspricht.

Hinweise zu Aufrufern

In .NET Framework 4 löst die ParseExact-Methode FormatException aus, wenn die Zeichenfolge, die analysiert werden soll, eine Stundenkomponente und einen AM/PM-Kennzeichner enthält, die unvereinbar sind. In .NET Framework 3.5 und früheren Versionen wird der AM/PM-Kennzeichner ignoriert.

Im folgenden Beispiel wird die ParseExact-Methode veranschaulicht.


string dateString, format;  
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;

// Parse date-only value with invariant culture.
dateString = "06/15/2008";
format = "d";
try {
   result = DateTime.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException) {
   Console.WriteLine("{0} is not in the correct format.", dateString);
} 

// Parse date-only value without leading zero in month using "d" format.
// Should throw a FormatException because standard short date pattern of 
// invariant culture requires two-digit month.
dateString = "6/15/2008";
try {
   result = DateTime.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException) {
   Console.WriteLine("{0} is not in the correct format.", dateString);
}

// Parse date and time with custom specifier.
dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
try {
   result = DateTime.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException) {
   Console.WriteLine("{0} is not in the correct format.", dateString);
}

// Parse date and time with offset but without offset's minutes.
// Should throw a FormatException because "zzz" specifier requires leading  
// zero in hours.
dateString = "Sun 15 Jun 2008 8:30 AM -06";
try {
   result = DateTime.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}   
catch (FormatException) {
   Console.WriteLine("{0} is not in the correct format.", dateString);
} 

dateString = "15/06/2008 08:30";
format = "g";
provider = new CultureInfo("fr-FR");
try {
   result = DateTime.ParseExact(dateString, format, provider);
   Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}   
catch (FormatException) {
   Console.WriteLine("{0} is not in the correct format.", dateString);
} 
// The example displays the following output:
//       06/15/2008 converts to 6/15/2008 12:00:00 AM.
//       6/15/2008 is not in the correct format.
//       Sun 15 Jun 2008 8:30 AM -06:00 converts to 6/15/2008 7:30:00 AM.
//       Sun 15 Jun 2008 8:30 AM -06 is not in the correct format.
//       15/06/2008 08:30 converts to 6/15/2008 8:30:00 AM.


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Unterstützt in:

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ