DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) Yöntem

Tanım

Belirtilen standart biçim dizesine karşılık gelen özel tarih ve saat biçim dizelerini ayarlar.

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)

Parametreler

patterns
String[]

Özel biçim dizeleri dizisi.

format
Char

parametresinde patterns belirtilen özel biçim dizeleriyle ilişkilendirilmiş standart biçim dizesi.

Öznitelikler

Özel durumlar

patterns veya null sıfır uzunlukta bir dizidir.

-veya-

format geçerli bir standart biçim dizesi değildir veya desenleri ayarlanamayan standart bir biçim dizesidir.

patterns değeri nullolan bir dizi öğesine sahiptir.

Örnekler

Aşağıdaki örnek, "en-US" (İngilizce - Birleşik Devletler) kültürünü temsil eden bir CultureInfo nesnenin örneğini oluşturur ve bunu "Y" standart biçim dizesini kullanarak bir tarih ve saat dizeleri dizisini ayrıştırmak için kullanır. Daha sonra yeni bir özel biçim dizesini "Y" standart biçim dizesiyle ilişkilendirmek için yöntemini kullanır SetAllDateTimePatterns ve ardından tarih ve saat dizeleri dizisini ayrıştırmaya çalışır. Örnekten elde edilen çıktı, yeni özel biçim dizesinin hem ayrıştırma hem de biçimlendirme işlemlerinde kullanıldığını gösterir.

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

Açıklamalar

yöntemi, SetAllDateTimePatterns belirli bir standart tarih ve saat biçim dizesine karşılık gelen özel biçim dizelerini tanımlar. Tarih ve saat biçimlendirme yöntemine yapılan bir çağrı tarafından formatbelirtilen standart tarih ve saat biçim dizesini içeriyorsa, yöntemi, sonuçta elde edilen dizenin biçimini tanımlamak için dizideki patterns ilk öğeyi kullanır.

Uyarı

Parse ve TryParse yöntemleri, bir tarih ve saatin dize gösterimini ayrıştırırken içindeki patterns tüm dizeleri tam olarak yinelemez. Ayrıştırma işleminde belirli biçimlere sahip olması için tarih ve saat dizesine ihtiyacınız varsa, geçerli biçim dizisini , DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles), DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)veya DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) yöntemine DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles)geçirmeniz gerekir.

"d", "D", "t", "T" ve "y" veya "Y" standart tarih ve saat biçim dizelerine karşılık gelen özel biçim dizeleri tanımlayabilirsiniz. değeri format başka bir standart biçim dizesiyse, SetAllDateTimePatterns yöntemi bir ArgumentExceptionoluşturur.

Özel tarih ve saat biçimi dizeleriniz tarih ayırıcıları içeriyorsa, "/" özel biçim tanımlayıcısını belirli bir tarih ayırıcısıyla değiştiren ayrıştırma veya biçimlendirme yöntemine güvenmek yerine açıkça bir tarih ayırıcı belirtmeniz gerekir. Örneğin, AA-GG-yyyy desenini elde etmek için "AA-GG-yyyy" desenini kullanın.

Şunlara uygulanır

Ayrıca bkz.