DateTimeFormatInfo.SetAllDateTimePatterns(String[], Char) 메서드

정의

지정된 표준 서식 문자열에 해당하는 사용자 지정 날짜 및 시간 형식 문자열을 설정합니다.

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

매개 변수

patterns
String[]

사용자 지정 형식 문자열의 배열입니다.

format
Char

매개 변수에 지정된 patterns 사용자 지정 서식 문자열과 연결된 표준 서식 문자열입니다.

특성

예외

patternsnull 거나 길이가 0인 배열입니다.

-또는-

format 가 유효한 표준 형식 문자열이 아니거나 패턴을 설정할 수 없는 표준 형식 문자열입니다.

patterns 값이 .인 배열 요소가 있습니다 null.

DateTimeFormatInfo 개체는 읽기 전용입니다.

예제

다음 예제에서는 "en-US" (영어 - 미국) 문화권을 나타내는 CultureInfo 개체를 인스턴스화하고 이를 사용하여 "Y" 표준 형식 문자열을 사용하여 날짜 및 시간 문자열 배열을 구문 분석합니다. 그런 다음 메서드를 SetAllDateTimePatterns 사용하여 새 사용자 지정 서식 문자열을 "Y" 표준 형식 문자열과 연결한 다음 날짜 및 시간 문자열의 배열을 구문 분석하려고 시도합니다. 이 예제의 출력은 구문 분석 및 서식 지정 작업에서 새 사용자 지정 서식 문자열이 사용되는 것을 보여 줍니다.

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

설명

이 메서드는 SetAllDateTimePatterns 특정 표준 날짜 및 시간 형식 문자열에 해당하는 사용자 지정 형식 문자열을 정의합니다. 날짜 및 시간 서식 지정 메서드에 대한 호출에 지정된 format표준 날짜 및 시간 형식 문자열이 포함된 경우 메서드는 배열의 첫 번째 요소를 patterns 사용하여 결과 문자열의 형식을 정의합니다.

Warning

및 메서드는 Parse 날짜 및 TryParse 시간의 문자열 patterns 표현을 구문 분석할 때 모든 문자열을 완전히 반복하지는 않습니다. 구문 분석 작업에서 특정 형식을 갖기 위해 날짜 및 시간 문자열이 필요한 경우 유효한 형식 배열을 , DateTimeOffset.ParseExact(String, String[], IFormatProvider, DateTimeStyles)또는 DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)DateTimeOffset.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTimeOffset) 메서드에 DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles)전달해야 합니다.

"d", "D", "t", "T" 및 "y" 또는 "Y" 표준 날짜 및 시간 형식 문자열에 해당하는 사용자 지정 형식 문자열을 정의할 수 있습니다. 값 format 이 다른 표준 형식 문자열이면 메서드는 SetAllDateTimePatterns .를 ArgumentExceptionthrow합니다.

사용자 지정 날짜 및 시간 서식 문자열에 날짜 구분 기호가 포함된 경우 "/" 사용자 지정 서식 지정자를 특정 날짜 구분 기호로 바꾸는 구문 분석 또는 서식 지정 메서드를 사용하는 대신 날짜 구분 기호를 명시적으로 지정해야 합니다. 예를 들어 MM-DD-yyyy 패턴을 가져오려면 "MM-DD-yyyy" 패턴을 사용합니다.

적용 대상

추가 정보