DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legt die benutzerdefinierten Datums- und Uhrzeitformatzeichenfolgen fest, die einer angegebenen Standardformatzeichenfolge entsprechen.
public:
void SetAllDateTimePatterns(cli::array <System::String ^> ^ patterns, char format);
public void SetAllDateTimePatterns(string[] patterns, char format);
[System.Runtime.InteropServices.ComVisible(false)]
public void SetAllDateTimePatterns(string[] patterns, char format);
member this.SetAllDateTimePatterns : string[] * char -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.SetAllDateTimePatterns : string[] * char -> unit
Public Sub SetAllDateTimePatterns (patterns As String(), format As Char)
Parameter
- patterns
- String[]
Ein Array von benutzerdefinierten Formatzeichenfolgen.
- format
- Char
Die Standardformatzeichenfolge, die den im patterns Parameter angegebenen benutzerdefinierten Formatzeichenfolgen zugeordnet ist.
- Attribute
Ausnahmen
patterns ist null oder ein Array der Länge Null.
-oder-
format ist keine gültige Standardformatzeichenfolge oder eine Standardformatzeichenfolge, deren Muster nicht festgelegt werden können.
patterns hat ein Arrayelement, dessen Wert lautet null.
Dieses DateTimeFormatInfo Objekt ist schreibgeschützt.
Beispiele
Im folgenden Beispiel wird ein CultureInfo-Objekt instanziiert, das die Kultur "en-US" (Englisch - USA) darstellt und verwendet, um ein Array von Datums- und Uhrzeitzeichenfolgen mithilfe der Standardformatzeichenfolge "Y" zu analysieren. Anschließend wird die SetAllDateTimePatterns Methode verwendet, um eine neue benutzerdefinierte Formatzeichenfolge der Standardformatzeichenfolge "Y" zuzuordnen, und versucht dann, das Array von Datums- und Uhrzeitzeichenfolgen zu analysieren. Die Ausgabe aus dem Beispiel zeigt, dass die neue benutzerdefinierte Formatzeichenfolge sowohl in den Analyse- als auch in Formatierungsvorgängen verwendet wird.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
// Use standard en-US culture.
CultureInfo enUS = new CultureInfo("en-US");
string[] values = { "December 2010", "December, 2010",
"Dec-2010", "December-2010" };
Console.WriteLine("Supported Y/y patterns for {0} culture:", enUS.Name);
foreach (var pattern in enUS.DateTimeFormat.GetAllDateTimePatterns('Y'))
Console.WriteLine(" " + pattern);
Console.WriteLine();
// Try to parse each date string using "Y" format specifier.
foreach (var value in values) {
try {
DateTime dat = DateTime.ParseExact(value, "Y", enUS);
Console.WriteLine(String.Format(enUS, " Parsed {0} as {1:Y}", value, dat));
}
catch (FormatException) {
Console.WriteLine(" Cannot parse {0}", value);
}
}
Console.WriteLine();
//Modify supported "Y" format.
enUS.DateTimeFormat.SetAllDateTimePatterns( new string[] { "MMM-yyyy" } , 'Y');
Console.WriteLine("New supported Y/y patterns for {0} culture:", enUS.Name);
foreach (var pattern in enUS.DateTimeFormat.GetAllDateTimePatterns('Y'))
Console.WriteLine(" " + pattern);
Console.WriteLine();
// Try to parse each date string using "Y" format specifier.
foreach (var value in values) {
try {
DateTime dat = DateTime.ParseExact(value, "Y", enUS);
Console.WriteLine(String.Format(enUS, " Parsed {0} as {1:Y}", value, dat));
}
catch (FormatException) {
Console.WriteLine(" Cannot parse {0}", value);
}
}
}
}
// The example displays the following output:
// Supported Y/y patterns for en-US culture:
// MMMM, yyyy
//
// Cannot parse December 2010
// Parsed December, 2010 as December, 2010
// Cannot parse Dec-2010
// Cannot parse December-2010
//
// New supported Y/y patterns for en-US culture:
// MMM-yyyy
//
// Cannot parse December 2010
// Cannot parse December, 2010
// Parsed Dec-2010 as Dec-2010
// Cannot parse December-2010
Imports System.Globalization
Module Example
Public Sub Main()
' Use standard en-US culture.
Dim enUS As New CultureInfo("en-US")
Dim values() As String = { "December 2010", "December, 2010",
"Dec-2010", "December-2010" }
Console.WriteLine("Supported Y/y patterns for {0} culture:", enUS.Name)
For Each pattern In enUS.DateTimeFormat.GetAllDateTimePatterns("Y"c)
Console.WriteLine(" " + pattern)
Next
Console.WriteLine()
' Try to parse each date string using "Y" format specifier.
For Each value In values
Try
Dim dat As Date = Date.ParseExact(value, "Y", enUS)
Console.WriteLine(String.Format(enUS, " Parsed {0} as {1:Y}", value, dat))
Catch e As FormatException
Console.WriteLine(" Cannot parse {0}", value)
End Try
Next
Console.WriteLine()
'Modify supported "Y" format.
enUS.DateTimeFormat.SetAllDateTimePatterns( { "MMM-yyyy" } , "Y"c)
Console.WriteLine("New supported Y/y patterns for {0} culture:", enUS.Name)
For Each pattern In enUS.DateTimeFormat.GetAllDateTimePatterns("Y"c)
Console.WriteLine(" " + pattern)
Next
Console.WriteLine()
' Try to parse each date string using "Y" format specifier.
For Each value In values
Try
Dim dat As Date = Date.ParseExact(value, "Y", enUS)
Console.WriteLine(String.Format(enUS, " Parsed {0} as {1:Y}", value, dat))
Catch e As FormatException
Console.WriteLine(" Cannot parse {0}", value)
End Try
Next
End Sub
End Module
' The example displays the following output:
' Supported Y/y patterns for en-US culture:
' MMMM, yyyy
'
' Cannot parse December 2010
' Parsed December, 2010 as December, 2010
' Cannot parse Dec-2010
' Cannot parse December-2010
'
' New supported Y/y patterns for en-US culture:
' MMM-yyyy
'
' Cannot parse December 2010
' Cannot parse December, 2010
' Parsed Dec-2010 as Dec-2010
' Cannot parse December-2010
Hinweise
Die SetAllDateTimePatterns Methode definiert die benutzerdefinierten Formatzeichenfolgen, die einer bestimmten Standard-Datums- und Uhrzeitformatzeichenfolge entsprechen. Wenn ein Aufruf einer Datums- und Uhrzeitformatierungsmethode die standardmäßige Datums- und Uhrzeitformatzeichenfolge enthält, die format durch patternsdie Methode angegeben wird, verwendet die Methode das erste Element im Array, um das Format der resultierenden Zeichenfolge zu definieren.
Warning
Die Parse Methoden TryParse durchlaufen nicht vollständig alle Zeichenfolgen patterns beim Analysieren der Zeichenfolgendarstellung eines Datums und einer Uhrzeit. Wenn Sie eine Datums- und Uhrzeitzeichenfolge benötigen, um bestimmte Formate in einem Analysevorgang zu haben, sollten Sie das Array gültiger Formate an die DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles), , DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)oder DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) Methode übergeben.
Sie können benutzerdefinierte Formatzeichenfolgen definieren, die den Standardzeichenfolgen "d", "D", "t", "T" und "y" oder "Y" entsprechen. Wenn es sich bei dem Wert um format eine andere Standardformatzeichenfolge handelt, löst die SetAllDateTimePatterns Methode eine ArgumentException.
Wenn Ihre benutzerdefinierten Datums- und Uhrzeitformatzeichenfolgen Datumstrennzeichen enthalten, sollten Sie explizit ein Datumstrennzeichen angeben, anstatt sich auf die Analyse- oder Formatierungsmethode zu verlassen, die den benutzerdefinierten Formatbezeichner "/" durch ein bestimmtes Datumstrennzeichen ersetzt. Um beispielsweise das Muster MM-DD-y zu erhalten, verwenden Sie das Muster "MM-DD-yyyyy".