이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

DateTime.TryParseExact 메서드 (String, String[], IFormatProvider, DateTimeStyles, DateTime)

 

게시 날짜: 2016년 11월

지정된 형식 배열, 문화권별 형식 정보 및 스타일을 사용하여 지정된 날짜와 시간의 문자열 표현을 해당 DateTime 표현으로 변환합니다. 문자열 표현 형식은 지정된 형식과 정확히 일치해야 합니다. 이 메서드는 변환이 성공했는지 아니면 실패했는지를 나타내는 값을 반환합니다.

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

public static bool TryParseExact(
	string s,
	string[] formats,
	IFormatProvider provider,
	DateTimeStyles style,
	out DateTime result
)

매개 변수

s
Type: System.String

변환할 날짜 및 시간이 포함된 문자열입니다.

formats
Type: System.String[]

s에 허용되는 형식의 배열입니다. 자세한 내용은 설명 부분을 참조하세요.

provider
Type: System.IFormatProvider

s에 대한 문화권별 서식 지정 정보를 제공하는 개체입니다.

style
Type: System.Globalization.DateTimeStyles

s에 사용할 수 있는 형식을 나타내는 열거형 값의 비트 조합입니다. 지정할 일반적인 값은 DateTimeStyles.None입니다.

result
Type: System.DateTime

이 메서드는 변환이 성공한 경우 DateTime에 포함된 날짜와 시간에 해당하는 s 값을 반환하고, 변환이 실패한 경우 MinValue를 반환합니다. s 또는 formatsnull이거나, s 또는 formats의 요소가 빈 문자열이거나, s의 형식 패턴 중 하나 이상에서 formats의 형식이 정확하게 지정되지 않은 경우 변환에 실패합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환 값

Type: System.Boolean

true 매개 변수가 변환되었으면 s이고, 그렇지 않으면 false입니다.

Exception Condition
ArgumentException

styles는 유효한 DateTimeStyles 값이 아닙니다.

또는

stylesDateTimeStyles 값의 잘못된 조합이 포함되어 있습니다(예: AssumeLocalAssumeUniversal 조합).

DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) 메서드는 할당 패턴 중 하 나와 일치 하는 날짜의 문자열 표현을 구문 분석 된 formats 매개 변수입니다. 비슷하지만 DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) 메서드를 제외 하 고는 TryParseExact 메서드는 변환이 실패할 경우 예외를 throw 하지 않습니다.

s 매개 변수에 날짜 및 시간 구문 분석을 포함 합니다. 경우는 s 매개 변수는 한 번만 포함 하 고 날짜 없음 않으면 현재 날짜가 사용 됩니다는 style 매개 변수에 포함 됩니다는 DateTimeStyles.NoCurrentDateDefault 기본 날짜는 쿼리에서 플래그 (DateTime.Date.MinValue) 사용 됩니다. 경우는 s 매개 변수에 포함만 날짜 및 시간, 자정 (00: 00:00) 사용 됩니다. style 매개 변수를 결정 여부는 s 매개 변수 앞에 오는 포함 될 수 있습니다, 중간 또는 후행 공백 문자가에 형식 문자열 중 하나에서 허용 하는 것 이외의 formats합니다.

경우 s 표준 시간대 정보가 없으면는 Kind 반환 된 속성 DateTime 개체가 DateTimeKind.Unspecified합니다. 사용 하 여이 동작을 변경할 수 있습니다는 DateTimeStyles.AssumeLocal 플래그를 반환 하는 DateTimeKind 속성은 DateTimeKind.Local, 또는 사용 하 여는 DateTimeStyles.AssumeUniversalDateTimeStyles.AdjustToUniversal 플래그를 반환 하는 DateTimeKind 속성은 DateTimeKind.Utc합니다. 필요에 따라 시간이 현지 시간으로 변환 됩니다 s에 표준 시간대 정보를 포함 하는 경우 및 Kind 반환 된 속성 DateTime 개체로 설정 되어 DateTimeKind.Local합니다. 사용 하 여이 동작을 변경할 수 있습니다는 DateTimeStyles.RoundtripKind 하지 utc (협정 세계시)를 현지 시간으로 변환 하 고 설정 하는 플래그는 Kind 속성을 DateTimeKind.Utc합니다.

formats 패턴, 배열을 포함 하는 매개 변수 중 하나는 s 구문 분석 작업이 성공 하는 경우에 정확히 일치 해야 합니다. 패턴은 formats 매개 변수가 구성에서 하나 이상의 사용자 지정 형식 지정자는 사용자 지정 날짜 및 시간 형식 문자열 테이블 또는 미리 정의 된 패턴을 식별 하는 단일 표준 형식 지정자는 표준 날짜 및 시간 형식 문자열 테이블.

에 대 한 고정 문화권을 사용 하는 사용자 지정 형식 패턴이에 날짜나 시간 구분 기호를 사용 하지 않는 경우는 provider 매개 변수 및 가장 넓은 형식으로 각 사용자 지정 형식 지정자입니다. 예를 들어 패턴에 시간을 지정 하려는 경우 짧은 "H" 형식 대신 긴 형식 "HH"를 지정 합니다.

특정 날짜 및 시간 기호 및 문자열 (예: 특정 언어의 요일 이름)에 사용 된 s 가 정의한는 provider 매개 변수를의 정확한 형식을 있는 그대로 s 경우 format 는 표준 형식 지정자 문자열입니다. provider 매개 변수는 다음 중 하나일 수 있습니다.

경우 providernull, CultureInfo 현재 문화권에 해당 하는 개체를 사용 합니다.

styles 의 하나 이상의 멤버를 포함 하는 매개 변수는 DateTimeStyles 공백에 정의 되지 않은 여부와 위치를 결정 하는 열거형 format 에 나타날 수 s 구문 분석 작업의 정확한 동작을 제어 하 합니다. 다음 표에 각 방법의 멤버는 DateTimeStyles 열거형의 작동에 영향을 줍니다는 TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) 메서드.

DateTimeStyles 멤버

설명

AdjustToUniversal

구문 분석 s 및 필요한 경우 UTC로 변환 합니다. 경우 s 표준 시간대 오프셋을 포함 또는 s 표준 시간대 정보가 없습니다 하지만 styles 포함는 DateTimeStyles.AssumeLocal 플래그를 메서드 호출 문자열을 구문 분석 하 ToUniversalTime 반환 된 변환할 DateTime utc로 설정 하는 값은 Kind 속성을 DateTimeKind.Utc합니다. 경우 s UTC를 나타낸다는 것을 의미 경우 s 표준 시간대 정보가 들어 있지 않은 하지만 styles 포함는 DateTimeStyles.AssumeUniversal 플래그를 메서드 문자열을 구문 분석을 수행 하 표준 시간대 변환 작업 없이 반환 된 DateTime 값 및 설정은 Kind 속성을 DateTimeKind.Utc합니다. 다른 모든 경우에는 플래그는 효과가 없습니다.

AllowInnerWhite

에 정의 되지 않은 공백은 지정 format 개별 날짜나 시간 요소 사이 나타날 수 있습니다.

AllowLeadingWhite

에 정의 되지 않은 공백은 지정 format 의 시작 부분에 나타날 수 s합니다.

AllowTrailingWhite

에 정의 되지 않은 공백은 지정 format 의 끝에 표시 될 수 있습니다 s합니다.

AllowWhiteSpaces

지정 하는 s 선행, 내부 및 후행 공백이에 정의 되지 않은 포함할 수 있습니다 format합니다.

AssumeLocal

지정 되는 경우 s 표준 시간대 정보가 없으면 현지 시간을 나타내는 간주 됩니다. 하지 않는 한는 DateTimeStyles.AdjustToUniversal 플래그가 없으면는 Kind 반환 된 속성 DateTime 값으로 설정 되어 DateTimeKind.Local합니다.

AssumeUniversal

지정 되는 경우 s 표준 시간대 정보가 없으면 UTC를 나타내는 것으로 간주 됩니다. 하지 않는 한는 DateTimeStyles.AdjustToUniversal 플래그가 없으면,이 메서드는 반환 된 DateTime 현지 시간 집합으로 측정 된 UTC에서 값의 Kind 속성을 DateTimeKind.Local합니다.

NoCurrentDateDefault

경우 s 시간 포함 날짜 정보 없이 반환 값의 날짜로 설정 되어 DateTime.MinValue.Date합니다.

None

s 매개 변수는 기본값을 사용 하 여 구문 분석 합니다. 에 없는 이외의 공백이 없습니다 format ï ´ ù. 경우 s 날짜 구성 요소를 반환 된 날짜에 DateTime 값 1/1/0001로 설정 됩니다. 경우 s 표준 시간대 정보가 없으면는 Kind 반환 된 속성 DateTime 개체로 설정 되어 DateTimeKind.Unspecified합니다. 표준 시간대 정보에 있는 경우 s, 시간이 현지 시간으로 변환 됩니다 및Kind 반환 된 속성 DateTime 개체로 설정 되어 DateTimeKind.Local합니다.

RoundtripKind

표준 시간대 정보가 포함 된 문자열에 대해로 변환 하지 않으려면 시도 DateTime 값과 해당 Kind 속성이로 설정 DateTimeKind.Local합니다. 이 플래그는 주로 현지 시간 UTC 시간으로 변환할 수 없습니다.

호출자 참고 사항:

에 .NET Framework 4, TryParseExact 메서드 반환 false 문자열을 구문 분석할 수 경우 시간 구성 요소 및 계약에 없는 AM/PM 지정자를 포함 합니다. 에 .NET Framework 3.5 이전 버전에서는 AM/PM 지정자는 무시 됩니다.

다음 예제에서는 DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) 메서드를 여러 가지 가능한 형식에서에서 문자열로 성공적으로 구문 분석할 수 있는지 확인 합니다.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", 
                         "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", 
                         "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", 
                         "M/d/yyyy h:mm", "M/d/yyyy h:mm", 
                         "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"};
      string[] dateStrings = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", 
                              "5/1/2009 6:32:00", "05/01/2009 06:32", 
                              "05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"}; 
      DateTime dateValue;

      foreach (string dateString in dateStrings)
      {
         if (DateTime.TryParseExact(dateString, formats, 
                                    new CultureInfo("en-US"), 
                                    DateTimeStyles.None, 
                                    out dateValue))
            Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue);
         else
            Console.WriteLine("Unable to convert '{0}' to a date.", dateString);
      }
   }
}
// The example displays the following output:
//       Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
//       Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
//       Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
//       Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
//       Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
//       Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
2.0 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: