System.DateTime.TryParse 메서드

이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.

이 메서드는 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 날짜, 시간 및 표준 시간대 정보를 포함할 수 있는 문자열을 구문 분석합니다. 변환이 DateTime.Parse(String, IFormatProvider, DateTimeStyles) 실패할 경우 메서드가 DateTime.TryParse(String, DateTime) 예외를 throw하지 않는다는 점을 제외하고 메서드와 비슷합니다.

이 메서드는 인식할 수 없는 데이터를 무시하고 입력 문자열(s)을 완전히 구문 분석하려고 시도합니다. 시간이 포함되지만 날짜가 없는 경우 s 메서드는 기본적으로 현재 날짜를 대체하거나 플래그를 NoCurrentDateDefault 포함하는 경우 styles 대체합니다DateTime.Date.MinValue. 날짜가 포함되어 있지만 시간이 없는 경우 s 12:00 자정이 기본 시간으로 사용됩니다. 날짜가 있지만 해당 연도 구성 요소가 두 자리 숫자로만 구성된 경우 속성 값 Calendar.TwoDigitYearMax 에 따라 매개 변수의 현재 달력에서 provider 1년으로 변환됩니다. 선행, 내부 또는 후행 공백 문자 s 는 무시됩니다. 날짜와 시간은 선행 및 후행 NUMBER SIGN 문자 쌍('#', U+0023)으로 괄호로 묶을 수 있으며 하나 이상의 NULL 문자(U+0000)로 후행할 수 있습니다.

날짜 및 시간 요소에 대한 특정 유효한 형식과 날짜 및 시간에 사용되는 이름과 기호는 매개 변수에 의해 provider 정의되며 다음 중 하나로 정의될 수 있습니다.

providernull이면 현재 문화권이 사용됩니다.

현재 달력에서 윤년의 윤일 문자열 표현인 경우 s 메서드가 성공적으로 구문 분석됩니다 s . 현재 달력provider에서 윤년이 아닌 연도의 윤일 문자열 표현인 경우 s 구문 분석 작업이 실패하고 메서드가 반환됩니다false.

매개 변수는 styles 구문 분석된 문자열의 정확한 해석과 구문 분석 작업에서 처리해야 하는 방법을 정의합니다. 다음 표에 설명된 대로 열거형의 DateTimeStyles 하나 이상의 멤버일 수 있습니다.

DateTimeStyles 멤버 설명
AdjustToUniversal s 구문 분석하고 필요한 경우 UTC로 변환합니다. 표준 시간대 오프셋을 포함하거나 표준 시간대 정보가 styles 없지만 플래그를 포함하는 DateTimeStyles.AssumeLocal 경우 ss 메서드는 문자열을 구문 분석하고 반환된 DateTime 값을 UTC로 변환하기 위해 호출 ToUniversalTime 하고 속성을 설정합니다 KindDateTimeKind.Utc. UTC를 나타내거나 표준 시간대 정보를 포함하지 않지만 styles 플래그를 포함하는 DateTimeStyles.AssumeUniversal 경우 ss 메서드는 문자열을 구문 분석하고 반환된 DateTime 값에 대해 표준 시간대 변환을 수행하지 않으며 속성을 DateTimeKind.Utc설정합니다Kind. 다른 모든 경우에서는 플래그가 적용되지 않습니다.
AllowInnerWhite 유효하지만 이 값은 무시됩니다. 내부 공백은 의 날짜 및 시간 요소 s에서 허용됩니다.
AllowLeadingWhite 유효하지만 이 값은 무시됩니다. 선행 공백은 의 날짜 및 시간 요소 s에서 허용됩니다.
AllowTrailingWhite 유효하지만 이 값은 무시됩니다. 후행 공백은 의 날짜 및 시간 요소 s에서 허용됩니다.
AllowWhiteSpaces 선행, 내부 및 후행 공백을 포함할 수 있도록 s 지정합니다. 이 옵션은 기본 동작입니다. 와 같은 DateTimeStyles.None보다 제한적인 DateTimeStyles 열거형 값을 제공하여 재정의할 수 없습니다.
AssumeLocal 표준 시간대 정보가 없는 경우 s 현지 시간을 나타내는 것으로 간주되도록 지정합니다. 플래그가 DateTimeStyles.AdjustToUniversal 없는 한 반환 DateTimeKind 값의 속성은 .로 DateTimeKind.Local설정됩니다.
AssumeUniversal 표준 시간대 정보가 없는 경우 s UTC를 나타내는 것으로 간주되도록 지정합니다. 플래그가 DateTimeStyles.AdjustToUniversal 없는 한 메서드는 반환 DateTime 된 값을 UTC에서 현지 시간으로 변환하고 해당 Kind 속성을 DateTimeKind.Local.로 설정합니다.
None 유효하지만 이 값은 무시됩니다.
RoundtripKind 표준 시간대 정보를 포함하는 문자열의 경우 날짜 및 시간 문자열 DateTime 을 해당 Kind 속성이 설정된 값으로 변환하지 않도록 합니다 DateTimeKind.Local. 일반적으로 이러한 문자열은 "o", "r" 또는 "u" 표준 형식 지정자를 사용하여 메서드를 호출 DateTime.ToString(String) 하여 생성됩니다.

표준 시간대 정보가 없는 경우 s 메서드는 플래그가 달리 나타내지 않는 한 속성 KindDateTimeKind.Unspecifiedstyles 있는 값을 반환 DateTime 합니다.DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 표준 시간대 또는 표준 시간대 오프셋 정보가 포함된 경우 s 메서드는 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 필요한 시간 변환을 수행하고 다음 중 하나를 반환합니다.

이 동작은 플래그를 사용하여 재정의 DateTimeStyles.RoundtripKind 할 수 있습니다.

사용자 지정 문화권 구문 분석

사용자 지정 문화권에 대해 생성된 날짜 및 시간 문자열을 구문 분석하는 경우 메서드 대신 TryParse 메서드를 사용하여 TryParseExact 구문 분석 작업이 성공할 확률을 높입니다. 사용자 지정 문화권 날짜 및 시간 문자열은 복잡하고 구문 분석하기 어려울 수 있습니다. 이 메서드는 TryParse 여러 암시적 구문 분석 패턴으로 문자열을 구문 분석하려고 시도하며 모두 실패할 수 있습니다. 반면, 메서드를 TryParseExact 사용하려면 성공할 가능성이 있는 하나 이상의 정확한 구문 분석 패턴을 명시적으로 지정해야 합니다.

사용자 지정 문화권에 대한 자세한 내용은 클래스를 참조하세요 System.Globalization.CultureAndRegionInfoBuilder .