DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen bir standart biçim dizesine karşılık gelen özel tarih ve saat biçimi 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 belirtilen özel biçim dizeleriyle ilişkili standart biçim dizesi patterns
.
- Öznitelikler
Özel durumlar
patterns
null
ya da sıfır uzunluklu bir dizidir.
-veya-
format
geçerli bir standart biçim dizesi değil veya desenleri ayarlanmayan standart bir biçim dizesidir.
patterns
değeri olan bir Array öğesi vardır null
.
Bu DateTimeFormatInfo nesne salt okunurdur.
Örnekler
Aşağıdaki örnek, CultureInfo "en-US" (İngilizce-Birleşik Devletler) kültürünü temsil eden bir nesneyi örnekleyen ve "Y" standart biçim dizesini kullanarak bir tarih ve saat dizeleri dizisini ayrıştırmak için kullanır. Daha sonra yöntemi kullanarak SetAllDateTimePatterns Yeni bir özel biçim dizesini "Y" standart biçim dizesiyle ilişkilendirir ve sonra tarih ve saat dizeleri dizisini ayrıştırmaya çalışır. Örneğin çıktısı, 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
SetAllDateTimePatternsYöntemi, 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 belirtilen standart tarih ve saat biçimi dizesi içeriyorsa format
, yöntemi, patterns
sonuçta elde edilen dizenin biçimini tanımlamak için dizideki ilk öğeyi kullanır.
Uyarı
Parse
Ve TryParse
yöntemleri patterns
bir tarih ve saatin dize gösterimini ayrıştırırken içindeki tüm dizeleri tam olarak yineetmez. Bir ayrıştırma işleminde belirli biçimlere sahip olmak için bir tarih ve saat dizesine ihtiyaç duyuyorsanız, geçerli biçimlerin dizisini DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) ,, DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles) DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) veya yöntemine geçirmeniz gerekir DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) .
"D", "D", "t", "T" ve "y" veya "Y" standart tarih ve saat biçimi dizelerine karşılık gelen özel biçim dizeleri tanımlayabilirsiniz. Değeri format
diğer standart biçim dizeyse, SetAllDateTimePatterns yöntemi bir oluşturur ArgumentException .
Özel tarih ve saat biçimi Dizeleriniz Tarih ayırıcıları içeriyorsa, "/" özel biçim belirticisini 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ısı belirtmeniz gerekir. Örneğin, aa-gg-yyyy deseninin alınması için, "aa-gg-yyyy" stilini kullanın.