DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) Méthode

Définition

Définit les chaînes de format personnalisé de date et d'heure qui correspondent à une chaîne de format standard spécifiée.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);
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)

Paramètres

patterns
String[]

Tableau de chaînes de format personnalisées.An array of custom format strings.

format
Char

La chaîne de format standard associée aux chaînes de format personnalisé spécifiées dans le paramètre patterns.The standard format string associated with the custom format strings specified in the patterns parameter.

Attributs

Exceptions

patterns est null ou un tableau de longueur nulle.patterns is null or a zero-length array.

- ou --or- format n’est pas une chaîne de format standard valide ou est une chaîne de format standard dont les modèles ne peuvent pas être définis.format is not a valid standard format string or is a standard format string whose patterns cannot be set.

patterns a un élément de tableau dont la valeur est null.patterns has an array element whose value is null.

Cet objet DateTimeFormatInfo est en lecture seule.This DateTimeFormatInfo object is read-only.

Exemples

L’exemple suivant instancie un CultureInfo objet qui représente la culture « en-US » (anglais-États-Unis) et l’utilise pour analyser un tableau de chaînes de date et d’heure à l’aide de la chaîne de format standard « Y ».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. Il utilise ensuite la SetAllDateTimePatterns méthode pour associer une nouvelle chaîne de format personnalisée à la chaîne de format standard « Y », puis tente d’analyser le tableau de chaînes de date et d’heure.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. La sortie de l’exemple montre que la nouvelle chaîne de format personnalisée est utilisée dans les opérations d’analyse et de mise en forme.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

Remarques

La SetAllDateTimePatterns méthode définit les chaînes de format personnalisées qui correspondent à une chaîne de format de date et d’heure standard particulière.The SetAllDateTimePatterns method defines the custom format strings that correspond to a particular standard date and time format string. Si un appel à une méthode de mise en forme de date et d’heure comprend la chaîne de format de date et d’heure standard spécifiée par format , la méthode utilise le premier élément du patterns tableau pour définir le format de la chaîne résultante.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.

Avertissement

Les Parse TryParse méthodes et n’itèrent pas complètement toutes les chaînes dans patterns lors de l’analyse de la représentation sous forme de chaîne d’une date et d’une heure.The Parse and TryParse methods do not fully iterate all strings in patterns when parsing the string representation of a date and time. Si vous avez besoin d’une chaîne de date et d’heure avec des formats particuliers dans une opération d’analyse, vous devez passer le tableau de formats valides à la DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) méthode,, DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) ou DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) .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.

Vous pouvez définir des chaînes de format personnalisées qui correspondent aux chaînes de format de date et d’heure standard « d », « D », « t », « T » et « y » ou « Y ».You can define custom format strings that correspond to the "d", "D", "t", "T", and "y" or "Y" standard date and time format strings. Si la valeur de format est toute autre chaîne de format standard, la SetAllDateTimePatterns méthode lève une ArgumentException .If the value of format is any other standard format string, the SetAllDateTimePatterns method throws an ArgumentException.

Si vos chaînes de format de date et d’heure personnalisées incluent des séparateurs de date, vous devez spécifier explicitement un séparateur de date au lieu de vous appuyer sur la méthode d’analyse ou de mise en forme qui remplace le spécificateur de format personnalisé "/" par un séparateur de date particulier.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. Par exemple, pour obtenir le modèle MM-JJ-AAAA, utilisez le modèle « MM-jj-aaaa ».For example, to obtain the pattern MM-DD-yyyy, use the pattern "MM-DD-yyyy".

S’applique à

Voir aussi