DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les chaînes de format personnalisé de date et d'heure qui correspondent à une chaîne de format standard spécifiée.
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.
- format
- Char
La chaîne de format standard associée aux chaînes de format personnalisé spécifiées dans le paramètre patterns
.
- Attributs
Exceptions
patterns
est null
ou un tableau de longueur nulle.
- ou -
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.
patterns
a un élément de tableau dont la valeur est null
.
Cet objet DateTimeFormatInfo est en lecture seule.
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 ». Il utilise ensuite la SetAllDateTimePatterns méthode pour associer une nouvelle chaîne de format personnalisé à la chaîne de format standard « Y », puis tente d’analyser le tableau des chaînes de date et d’heure. La sortie de l’exemple montre que la nouvelle chaîne de format personnalisé est utilisée dans les opérations d’analyse et de mise en forme.
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. Si un appel à une méthode de mise en forme de date et d’heure inclut 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.
Avertissement
Les Parse
méthodes et TryParse
n’itèrent pas entièrement 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. Si vous avez besoin d’une chaîne de date et d’heure pour avoir des formats particuliers dans une opération d’analyse, vous devez passer le tableau de formats valides à la DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles)méthode , DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)ou DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) .
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 ». Si la valeur de est une autre chaîne de format
format standard, la SetAllDateTimePatterns méthode lève un 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. Par exemple, pour obtenir le modèle MM-JJ-aaaa, utilisez le modèle « MM-JJ-aaaa ».