DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) Method

Definition

Legt die benutzerdefinierten Formatzeichenfolgen für Datum und Uhrzeit fest, die einer angegebenen Standardformatzeichenfolge entsprechen.Sets the custom date and time format strings that correspond to a specified standard format string.

public:
 void SetAllDateTimePatterns(cli::array <System::String ^> ^ patterns, char format);
[System.Runtime.InteropServices.ComVisible(false)]
public void SetAllDateTimePatterns (string[] patterns, char format);
member this.SetAllDateTimePatterns : string[] * char -> unit
Public Sub SetAllDateTimePatterns (patterns As String(), format As Char)

Parameter

patterns
String[]

Ein Array benutzerdefinierter Formatzeichenfolgen.An array of custom format strings.

format
Char Char Char Char

Die den im patterns-Parameter angegebenen benutzerdefinierten Formatzeichenfolgen zugeordnete Standardformatzeichenfolge.The standard format string associated with the custom format strings specified in the patterns parameter.

Ausnahmen

patterns ist null oder ein Array der Länge 0 (null).patterns is null or a zero-length array.

- oder --or- format ist keine gültige Standardformatzeichenfolge oder ist eine Standardformatzeichenfolge, deren Muster nicht festgelegt werden können.format is not a valid standard format string or is a standard format string whose patterns cannot be set.

patterns hat ein Arrayelement, dessen Wert null ist.patterns has an array element whose value is null.

Beispiele

Das folgende Beispiel instanziiert ein CultureInfo Objekt, stellt "En-US" (auf Englisch - USA) Kultur und wird verwendet, um ein Array von Zeichenfolgen für Datum und Zeit mit der standardmäßigen Formatzeichenfolge "Y" analysieren.The following example instantiates a CultureInfo object that represents the "en-US" (English - United States) culture and uses it to parse an array of date and time strings using the "Y" standard format string. Anschließend wird mithilfe der SetAllDateTimePatterns Methode, die Standardformatzeichenfolge "Y", und klicken Sie dann versucht, analysiert das Array von Zeichenfolgen für Datum und Uhrzeit eine neue benutzerdefinierte Formatzeichenfolge zugeordnet werden soll.It then uses the SetAllDateTimePatterns method to associate a new custom format string with the "Y" standard format string, and then attempts to parse the array of date and time strings. Ausgabe des Beispiels wird veranschaulicht, dass die neue benutzerdefinierte Formatzeichenfolge, die in die Analyse und Formatierungsvorgängen verwendet wird.Output from the example demonstrates that the new custom format string is used in both the parsing and formatting operations.

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 entsprechen benutzerdefinierten Formatzeichenfolgen zu einem bestimmten Datum und Uhrzeit-Formatzeichenfolge.The SetAllDateTimePatterns method defines the custom format strings that correspond to a particular standard date and time format string. Wenn ein Aufruf von einer Datums- und Uhrzeitangabe Formatierungsmethode enthält die Standardformatbezeichner für Datum und Uhrzeit-Formatzeichenfolge gemäß format, die Methode verwendet das erste Element in der patterns Array, das das Format der resultierenden Zeichenfolge definieren.If a call to a date and time formatting method includes the standard date and time format string specified by format, the method uses the first element in the patterns array to define the format of the resulting string.

Warnung

Die Parse und TryParse Methoden sind alle Zeichenfolgen in nicht vollständig durchlaufen patterns beim Analysieren der Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe.The Parse and TryParse methods do not fully iterate all strings in patterns when parsing the string representation of a date and time. Wenn Sie eine Datum und Uhrzeit-Zeichenfolge, die bestimmte Formate bei einem Analysevorgang haben benötigen, sollten Sie das Array von gültigen Formaten, übergeben 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.If you require a date and time string to have particular formats in a parsing operation, you should pass the array of valid formats to the DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime), or DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) method.

Sie können benutzerdefinierte Formatzeichenfolgen, die entsprechen der "d", "D", "t", "T" und "y" oder "Y" Standardformatbezeichner für Datum und Uhrzeit-Formatzeichenfolgen definieren.You can define custom format strings that correspond to the "d", "D", "t", "T", and "y" or "Y" standard date and time format strings. Wenn der Wert des format ist eine beliebige andere Standardformat-Zeichenfolge, die SetAllDateTimePatterns -Methode löst eine ArgumentException.If the value of format is any other standard format string, the SetAllDateTimePatterns method throws an ArgumentException.

Wenn Ihre benutzerdefinierte für Datum und Uhrzeit-Formatzeichenfolgen Datumstrennzeichen einschließen, sollten Sie explizit ein Datumstrennzeichen statt für die Analyse oder die Formatierung-Methode, die den benutzerdefinierte Formatbezeichner "/" mit einem bestimmten Datumstrennzeichen ersetzt angeben.If your custom date and time format strings include date separators, you should explicitly specify a date separator instead of relying on the parsing or formatting method that replaces the "/" custom format specifier with a particular date separator. Um das Muster MM-TT-JJJJ zu erhalten, verwenden Sie z. B. das Muster "MM-DD-Yyyy".For example, to obtain the pattern MM-DD-yyyy, use the pattern "MM-DD-yyyy".

Gilt für:

Siehe auch