내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

DateTimeFormatInfo.GetAllDateTimePatterns 메서드 (Char)

지정된 표준 형식 문자열을 사용하여 날짜 및 시간 값의 형식을 지정할 수 있는 모든 패턴을 반환합니다.

네임스페이스:  System.Globalization
어셈블리:  mscorlib(mscorlib.dll)

public string[] GetAllDateTimePatterns(
	char format
)

매개 변수

format
형식: System.Char
표준 서식 문자열입니다.

반환 값

형식: System.String[]
지정된 형식 문자열을 사용하여 날짜 및 시간의 형식을 지정할 수 있는 표준 패턴이 들어 있는 배열입니다.

예외조건
ArgumentException

format이 유효한 형식 문자열이 아닙니다.

이 메서드는 특정한 표준 형식 문자열에 해당하는 사용자 지정 형식 문자열을 포함하는 배열을 반환합니다. 표준 형식 문자열 목록은 표준 날짜 및 시간 서식 문자열를 참조하십시오.

서식 지정 작업에서 GetAllDateTimePatterns 메서드가 반환하는 배열에서 사용자 지정 형식 문자열을 사용할 수 있습니다. 하지만 그렇게 할 경우 해당 형식 지정 작업에서 반환된 날짜 및 시간 값의 문자열 표현은 ParseTryParse 메서드로 성공적으로 구문 분석하지 못할 수 있습니다. 따라서 GetAllDateTimePatterns 메서드에서 반환하는 사용자 지정 서식 문자열은 라운드트립 날짜 및 시간 값에 사용할 수 없다고 가정할 수 없습니다. 다음 예제에서는 이 문제를 보여 줍니다. 러시아(러시아어) 문화권의 형식 지정 정보가 포함된 DateTimeFormatInfo 개체를 검색합니다. 각 표준 형식 문자열에 GetAllDateTimePatterns(Char) 메서드를 호출한 다음 반환된 배열의 각 사용자 지정 형식 문자열을 DateTime.ToString(String) 메서드로 반환하여 날짜 및 시간의 문자열 표현을 만듭니다. 이 예제에서는 DateTime.TryParse(String, DateTime) 메서드를 호출하여 이 값을 구문 분석합니다. 예제의 출력과 같이, 사용자 지정 형식 문자열 중 일부는 성공적으로 라운드트립하는 날짜 및 시간 값을 생성하지 않습니다.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = CultureInfo.CreateSpecificCulture("ru-RU");
      char[] formats = { 'd', 'D', 'f', 'F', 'g', 'G', 'm', 'o', 
                           'r', 's', 't', 'T', 'u', 'U', 'y' };
      DateTime date1 = new DateTime(2011, 02, 01, 7, 30, 45, 0);
      DateTime date2;
      int total = 0;
      int noRoundTrip = 0;

      foreach (var fmt in formats) {
         total = 0; 
         noRoundTrip = 0;
         foreach (var pattern in culture.DateTimeFormat.GetAllDateTimePatterns(fmt)) {
            total++;
            if (! DateTime.TryParse(date1.ToString(pattern), out date2)) {
               noRoundTrip++;
               Console.WriteLine("Unable to parse {0:" + pattern + "} (format '{1}')", 
                                 date1, pattern);
            }             
         }
         if (noRoundTrip > 0)
            Console.WriteLine("{0}: Unable to round-trip {1} of {2} format strings.\n",
                              fmt, noRoundTrip, total);
         else
            Console.WriteLine("{0}: All custom format strings round trip.\n", fmt);
      }
   }
}
// The example displays the following output:
//    d: All custom format strings round trip.
//    
//    Unable to parse 1 February 2011 г. (format 'd MMMM yyyy 'г.'')
//    Unable to parse 01 February 2011 г. (format 'dd MMMM yyyy 'г.'')
//    D: Unable to round-trip 2 of 2 format strings.
//    
//    Unable to parse 1 February 2011 г. 7:30 (format 'd MMMM yyyy 'г.' H:mm')
//    Unable to parse 1 February 2011 г. 07:30 (format 'd MMMM yyyy 'г.' HH:mm')
//    Unable to parse 01 February 2011 г. 7:30 (format 'dd MMMM yyyy 'г.' H:mm')
//    Unable to parse 01 February 2011 г. 07:30 (format 'dd MMMM yyyy 'г.' HH:mm')
//    f: Unable to round-trip 4 of 4 format strings.
//    
//    Unable to parse 1 February 2011 г. 7:30:45 (format 'd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 1 February 2011 г. 07:30:45 (format 'd MMMM yyyy 'г.' HH:mm:ss')
//    Unable to parse 01 February 2011 г. 7:30:45 (format 'dd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 01 February 2011 г. 07:30:45 (format 'dd MMMM yyyy 'г.' HH:mm:ss')
//    F: Unable to round-trip 4 of 4 format strings.
//    
//    g: All custom format strings round trip.
//    
//    G: All custom format strings round trip.
//    
//    m: All custom format strings round trip.
//    
//    o: All custom format strings round trip.
//    
//    r: All custom format strings round trip.
//    
//    s: All custom format strings round trip.
//    
//    t: All custom format strings round trip.
//    
//    T: All custom format strings round trip.
//    
//    u: All custom format strings round trip.
//    
//    Unable to parse 1 February 2011 г. 7:30:45 (format 'd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 1 February 2011 г. 07:30:45 (format 'd MMMM yyyy 'г.' HH:mm:ss')
//    Unable to parse 01 February 2011 г. 7:30:45 (format 'dd MMMM yyyy 'г.' H:mm:ss')
//    Unable to parse 01 February 2011 г. 07:30:45 (format 'dd MMMM yyyy 'г.' HH:mm:ss')
//    U: Unable to round-trip 4 of 4 format strings.
//    
//    y: All custom format strings round trip.


미리 정의된 사용자 지정 형식 수로 표현할 수 있는 날짜 및 시간의 문자열 표현을 구문 분석하려면 다음 메서드 중 하나를 호출합니다.

GetAllDateTimePatterns 메서드에서 반환하는 사용자 지정 형식 문자열은 DateTimeFormatInfo 개체가 서식 지정 정보를 제공하는 문화권의 현재 달력에 따라 다릅니다. 달력이 변경되는 경우 이 메서드에서 반환하는 배열도 변경됩니다.

다음 예제에서는 현재 달력의 날짜 및 시간 패턴을 표시합니다.


 using System;
 using System.Globalization;
 public class SamplesDateTimeFormatInfo  {

    public static void Main()  {

       // Creates a new DateTimeFormatinfo.
       DateTimeFormatInfo myDtfi = new DateTimeFormatInfo();

       // Gets and prints all the patterns.
       String[] myPatternsArray = myDtfi.GetAllDateTimePatterns();
       Console.WriteLine( "ALL the patterns:" );
       PrintIndexAndValues( myPatternsArray );

       // Gets and prints the pattern(s) associated with some of the format characters.
       myPatternsArray = myDtfi.GetAllDateTimePatterns('d');
       Console.WriteLine( "The patterns for 'd':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('D');
       Console.WriteLine( "The patterns for 'D':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('f');
       Console.WriteLine( "The patterns for 'f':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('F');
       Console.WriteLine( "The patterns for 'F':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('r');
       Console.WriteLine( "The patterns for 'r':" );
       PrintIndexAndValues( myPatternsArray );

       myPatternsArray = myDtfi.GetAllDateTimePatterns('R');
       Console.WriteLine( "The patterns for 'R':" );
       PrintIndexAndValues( myPatternsArray );
    }

    public static void PrintIndexAndValues( String[] myArray )  {
       int i = 0;
       foreach ( String s in myArray )
          Console.WriteLine( "\t[{0}]:\t{1}", i++, s );
       Console.WriteLine();
    }
 }


/* 
This code produces the following output.

ALL the patterns:
        [0]:    MM/dd/yyyy
        [1]:    dddd, dd MMMM yyyy
        [2]:    dddd, dd MMMM yyyy HH:mm
        [3]:    dddd, dd MMMM yyyy hh:mm tt
        [4]:    dddd, dd MMMM yyyy H:mm
        [5]:    dddd, dd MMMM yyyy h:mm tt
        [6]:    dddd, dd MMMM yyyy HH:mm:ss
        [7]:    MM/dd/yyyy HH:mm
        [8]:    MM/dd/yyyy hh:mm tt
        [9]:    MM/dd/yyyy H:mm
        [10]:   MM/dd/yyyy h:mm tt
        [11]:   MM/dd/yyyy HH:mm:ss
        [12]:   MMMM dd
        [13]:   MMMM dd
        [14]:   ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
        [15]:   ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
        [16]:   yyyy'-'MM'-'dd'T'HH':'mm':'ss
        [17]:   HH:mm
        [18]:   hh:mm tt
        [19]:   H:mm
        [20]:   h:mm tt
        [21]:   HH:mm:ss
        [22]:   yyyy'-'MM'-'dd HH':'mm':'ss'Z'
        [23]:   dddd, dd MMMM yyyy HH:mm:ss
        [24]:   yyyy MMMM
        [25]:   yyyy MMMM

The patterns for 'd':
        [0]:    MM/dd/yyyy

The patterns for 'D':
        [0]:    dddd, dd MMMM yyyy

The patterns for 'f':
        [0]:    dddd, dd MMMM yyyy HH:mm
        [1]:    dddd, dd MMMM yyyy hh:mm tt
        [2]:    dddd, dd MMMM yyyy H:mm
        [3]:    dddd, dd MMMM yyyy h:mm tt

The patterns for 'F':
        [0]:    dddd, dd MMMM yyyy HH:mm:ss

The patterns for 'r':
        [0]:    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'

The patterns for 'R':
        [0]:    ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
*/



.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft