이 문서는 이 API에 대한 참조 설명서를 보충하는 추가 설명을 제공합니다.
이 메서드는 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 날짜, 시간 및 표준 시간대 정보를 포함할 수 있는 문자열을 구문 분석합니다. 메서드는 변환이 실패할 경우 예외를 발생시키지 않는다는 점에서 DateTime.Parse(String, IFormatProvider, DateTimeStyles) 메서드와 비슷하지만, DateTime.TryParse(String, DateTime) 메서드와 차이가 있습니다.
이 메서드는 인식할 수 없는 데이터를 무시하고 입력 문자열(s
)을 완전히 구문 분석하려고 시도합니다. 시간이 포함되지만 날짜가 없는 경우 s
메서드는 기본적으로 현재 날짜를 대체하거나 플래그를 styles
포함하는 경우 NoCurrentDateDefault 대체합니다DateTime.Date.MinValue
. 날짜가 포함되어 있지만 시간이 없는 경우 s
12:00 자정이 기본 시간으로 사용됩니다. 날짜가 있지만 해당 연도 구성 요소가 두 자리 숫자로만 구성된 경우 속성 값 provider
에 따라 매개 변수의 현재 달력에서 Calendar.TwoDigitYearMax 1년으로 변환됩니다. 선행, 내부 또는 후행 공백 문자는 s
에서 무시됩니다. 날짜와 시간은 선행 및 후행 NUMBER SIGN 문자 쌍('#', U+0023)으로 괄호로 묶을 수 있으며 하나 이상의 NULL 문자(U+0000)로 후행할 수 있습니다.
날짜 및 시간 요소에 대한 특정 유효한 형식과 날짜 및 시간에 사용되는 이름과 기호는 매개 변수에 의해 provider
정의되며 다음 중 하나로 정의될 수 있습니다.
-
CultureInfo 개체는
s
매개 변수에서 사용되는 서식의 문화권을 나타냅니다. DateTimeFormatInfo 개체는 CultureInfo.DateTimeFormat 속성에서 반환되며s
에서 사용되는 서식을 정의합니다. -
DateTimeFormatInfo 객체는
s
에서 사용되는 서식을 정의합니다. - 사용자 지정 IFormatProvider 구현입니다. 해당 IFormatProvider.GetFormat 메서드는 DateTimeFormatInfo 개체를 반환하며, 이는
s
에서 사용되는 서식을 정의합니다.
provider
가 null
인 경우, 현재 문화권이 적용됩니다.
s
가 현재 달력에서 윤년의 윤일을 문자열로 표현한 경우, 메서드가 s
을 성공적으로 구문 분석합니다. 현재 달력s
에서 윤년이 아닌 연도의 윤일 문자열 표현인 경우 provider
구문 분석 작업이 실패하고 메서드가 false
를 반환합니다.
매개 변수는 styles
구문 분석된 문자열의 정확한 해석과 구문 분석 작업에서 처리해야 하는 방법을 정의합니다. 다음 표에 설명된 대로 열거형의 DateTimeStyles 하나 이상의 멤버일 수 있습니다.
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 | 유효하지만 이 값은 무시됩니다. 날짜 및 시간 요소 s 의 내부 공백이 허용됩니다. |
AllowLeadingWhite | 유효하지만 이 값은 무시됩니다.
s 의 날짜 및 시간 요소에는 선행 공백이 허용됩니다. |
AllowTrailingWhite | 유효하지만 이 값은 무시됩니다. 날짜 및 시간 요소인 s 에서 후행 공백이 허용됩니다. |
AllowWhiteSpaces |
s 에 선행, 내부 및 후행 공백이 포함될 수 있음을 명시합니다. 이 옵션은 기본 동작입니다. 와 같은 DateTimeStyles보다 제한적인 DateTimeStyles.None 열거형 값을 제공하여 재정의할 수 없습니다. |
AssumeLocal | 표준 시간대 정보가 없는 경우 s 현지 시간을 나타내는 것으로 간주되도록 지정합니다.
DateTimeStyles.AdjustToUniversal 플래그가 존재하지 않는 경우 반환된 Kind 값의 DateTime 속성은 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
에 표준 시간대 정보가 포함되지 않은 경우, DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 메서드는 플래그 DateTime가 그렇지 않음을 나타내지 않는 한 Kind 속성이 DateTimeKind.Unspecified인 styles
값을 반환합니다. 표준 시간대 또는 표준 시간대 오프셋 정보가 포함된 경우 s
메서드는 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 필요한 시간 변환을 수행하고 다음 중 하나를 반환합니다.
- DateTime은 날짜와 시간이 현지 시간을 반영하고 Kind 속성이 DateTimeKind.Local인 값입니다.
- 또는
styles
에 AdjustToUniversal 플래그가 포함된 경우, 날짜와 시간이 UTC 기준으로 한 DateTime 값이며 Kind 속성이 DateTimeKind.Utc입니다.
이 동작은 DateTimeStyles.RoundtripKind 플래그를 사용하여 재정의할 수 있습니다.
사용자 지정 문화권 구문 분석
사용자 지정 문화권에 대해 생성된 날짜 및 시간 문자열을 구문 분석하는 경우 TryParseExact 메서드를 사용하여 TryParse 메서드 대신 구문 분석 작업이 성공할 가능성을 높입니다. 사용자 지정 문화권 날짜 및 시간 문자열은 복잡하고 구문 분석하기 어려울 수 있습니다. 이 메서드는 TryParse 여러 암시적 구문 분석 패턴으로 문자열을 구문 분석하려고 시도하며 모두 실패할 수 있습니다. 반면, 메서드를 TryParseExact 사용하려면 성공할 가능성이 있는 하나 이상의 정확한 구문 분석 패턴을 명시적으로 지정해야 합니다.
사용자 지정 문화권에 대한 자세한 내용은 클래스를 참조하세요 System.Globalization.CultureAndRegionInfoBuilder .
.NET