이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

DateTimeOffset.TryParseExact 메서드 (String, String, IFormatProvider, DateTimeStyles, DateTimeOffset%)

2013-12-13

지정된 형식, 문화권별 형식 정보 및 스타일을 사용하여 날짜 및 시간의 지정된 문자열 표현을 해당 DateTimeOffset으로 변환합니다. 문자열 표현의 형식이 지정된 형식과 정확하게 일치해야 합니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)
public static bool TryParseExact(
	string input,
	string format,
	IFormatProvider formatProvider,
	DateTimeStyles styles,
	out DateTimeOffset result
)

매개 변수

input
형식: System.String
변환할 날짜 및 시간이 포함된 문자열입니다.
format
형식: System.String
input의 필수 형식을 정의하는 형식 지정자입니다.
formatProvider
형식: System.IFormatProvider
input에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.
styles
형식: System.Globalization.DateTimeStyles
input에 사용할 수 있는 서식을 나타내는 열거형 값의 비트 조합입니다. 지정할 일반적인 값은 None입니다.
result
형식: System.DateTimeOffset %
메서드가 반환될 때 변환이 성공한 경우 input의 날짜와 시간에 해당하는 DateTimeOffset이 들어 있거나, 변환이 실패한 경우 MinValue가 들어 있습니다. input 매개 변수가 null이거나, formatprovider에 정의된 예상 서식에 따라 날짜와 시간을 나타내는 유효한 문자열 표현을 포함하고 있지 않으면 변환이 실패합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환 값

형식: System.Boolean
input 매개 변수가 변환되면 true이고, 그렇지 않으면 false입니다.
예외조건
ArgumentException

styles에 정의되지 않은 DateTimeStyles 값이 포함된 경우

-또는-

DateTimeStyles.NoCurrentDateDefault가 지원되지 않는 경우

-또는-

styles에 함께 사용할 수 없는 DateTimeStyles 값이 포함된 경우

TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) 메서드의 이 오버로드는 DateTimeOffset.ParseExact(String, String, IFormatProvider, DateTimeStyles) 메서드와 비슷하지만 이 메서드는 변환이 실패해도 예외를 발생시키지 않는다는 점이 다릅니다. 이 메서드는 format 매개 변수로 지정한 패턴과 정확히 일치하는 날짜와 시간의 문자열 표현을 구문 분석합니다. styles 매개 변수로 정의한 공백의 허용되는 몇 가지 변형을 사용하더라도 input 문자열이 이 패턴과 일치하지 않으면 이 메서드는 false를 반환합니다.

format 매개 변수는 input의 필수 패턴을 정의하는 하나 이상의 사용자 지정 형식 지정자 또는 단일 표준 형식 지정자가 들어 있는 문자열입니다. input에 오프셋이 있어야 함을 나타내는 z, zz 또는 zzz 사용자 지정 형식 지정자가 format에 포함된 경우 해당 오프셋은 음수 부호나 양수 부호를 포함해야 합니다. 부호가 없으면 구문 분석 작업이 실패하고 메서드를 통해 false가 반환됩니다.

format에 따라 input에 시간이 아닌 날짜가 들어 있어야 하는 경우 결과 DateTimeOffset 개체의 시간이 자정(0:00:00)으로 할당됩니다. format에 따라 input에 날짜가 아닌 시간이 들어 있어야 하는 경우 결과 DateTimeOffset 개체의 날짜가 로컬 시스템의 현재 날짜로 할당됩니다. format에서 input에 오프셋이 포함될 것을 요구하지 않는 경우 결과 DateTimeOffset 개체의 오프셋은 styles 매개 변수의 값에 따라 다릅니다. stylesAssumeLocal이 포함되어 있으면 현지 시간대의 오프셋이 DateTimeOffset 개체에 할당됩니다. stylesAssumeUniversal이 포함되어 있으면 UTC(협정 세계시) 오프셋(+00:00)이 DateTimeOffset 개체에 할당됩니다. 어떠한 값도 지정되어 있지 않으면 현지 시간대의 오프셋이 사용됩니다.

input에 사용되는 특정 날짜 및 시간 기호와 문자열은 formatProvider 매개 변수를 통해 정의됩니다. format이 표준 형식 지정자 문자열인 경우 input의 정확한 패턴도 마찬가지로 정의됩니다. formatProvider 매개 변수는 다음 중 하나가 될 수 있습니다.

formatprovidernull이면 현재 문화권에 해당하는 CultureInfo 개체가 사용됩니다.

styles 매개 변수는 입력 문자열에 공백이 허용되는지 여부를 정의하고, 명시적 오프셋 구성 요소가 없는 문자열을 구문 분석하는 방법을 지시하고, 구문 분석 작업의 일부로 UTC 변환을 지원합니다. NoCurrentDateDefault를 제외한 모든 DateTimeStyles 열거형 멤버가 지원됩니다. 다음 표에서는 지원되는 각 멤버의 효과를 보여 줍니다.

DateTimeStyles 멤버

동작

AdjustToUniversal

input을 구문 분석하고 필요한 경우 UTC로 변환합니다. 이는 문자열을 구문 분석한 다음 반환된 DateTimeOffset 개체의 DateTimeOffset.ToUniversalTime 메서드를 호출하는 것과 같습니다.

AssumeLocal

format에서 input에 오프셋 값이 포함될 것을 요구하지 않는 경우 반환되는 DateTimeOffset 개체가 현지 시간대의 오프셋으로 설정됩니다. 이것은 기본적인 동작입니다.

AssumeUniversal

format에서 input에 오프셋 값이 포함될 것을 요구하지 않는 경우 반환되는 DateTimeOffset 개체가 UTC 오프셋(+00:00)으로 설정됩니다.

AllowInnerWhite

format에서 지정하지 않은 공백을 input에 포함할 수 있도록 합니다. 날짜 및 시간 구성 요소 사이나 오프셋을 제외한 개별 구성 요소 내에 추가 공백을 표시할 수 있지만, 문자열을 구문 분석할 때는 해당 공백이 무시됩니다.

AllowLeadingWhite

format에 지정되지 않은 선행 공백을 input에 포함할 수 있습니다. 문자열을 구문 분석할 때는 이러한 공백이 무시됩니다.

AllowTrailingWhite

format에 지정되지 않은 후행 공백을 input에 포함할 수 있습니다. 문자열을 구문 분석할 때는 이러한 공백이 무시됩니다.

AllowWhiteSpaces

format에 지정되지 않은 선행, 후행 및 내부 공백을 input에 포함할 수 있습니다. format에 지정되지 않은 모든 추가 공백 문자는 문자열을 구문 분석할 때 무시됩니다.

None

input에 추가 공백을 허용하지 않도록 지시합니다. 공백은 format에 지정된 대로 나타나야 합니다. 이것은 기본적인 동작입니다.

RoundtripKind

DateTimeOffset 구조체에 Kind 속성이 포함되어 있지 않으므로 효과가 없습니다.

다음 예제에서는 표준 및 사용자 지정 형식 지정자, 고정 문화권 및 다양한 DateTimeStyles 값과 함께 TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTimeOffset) 메서드를 사용하여 여러 가지 날짜 및 시간 문자열을 구문 분석합니다.


string dateString, format;
DateTimeOffset result;
IFormatProvider provider = CultureInfo.InvariantCulture;

// Parse date-only value with invariant culture and assume time is UTC.
dateString = "06/15/2008";
format = "d";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
                                 DateTimeStyles.AssumeUniversal,
                                 out result))
   outputBlock.Text += String.Format("'{0}' converts to {1}.", dateString, result.ToString()) + "\n";
else
   outputBlock.Text += String.Format("'{0}' is not in the correct format.", dateString) + "\n";

// Parse date-only value with leading white space.
// Should return False because only trailing whitespace is  
// specified in method call.
dateString = " 06/15/2008";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
                                 DateTimeStyles.AllowTrailingWhite,
                                 out result))
   outputBlock.Text += String.Format("'{0}' converts to {1}.", dateString, result.ToString()) + "\n";
else
   outputBlock.Text += String.Format("'{0}' is not in the correct format.", dateString) + "\n";

// Parse date and time value, and allow all white space.
dateString = " 06/15/   2008  15:15    -05:00";
format = "MM/dd/yyyy H:mm zzz";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
                                 DateTimeStyles.AllowWhiteSpaces,
                                 out result))
   outputBlock.Text += String.Format("'{0}' converts to {1}.", dateString, result.ToString()) + "\n";
else
   outputBlock.Text += String.Format("'{0}' is not in the correct format.", dateString) + "\n";

// Parse date and time and convert to UTC.
dateString = "  06/15/2008 15:15:30 -05:00";
format = "MM/dd/yyyy H:mm:ss zzz";
if (DateTimeOffset.TryParseExact(dateString, format, provider,
                                DateTimeStyles.AllowWhiteSpaces |
                                DateTimeStyles.AdjustToUniversal,
                                out result))
   outputBlock.Text += String.Format("'{0}' converts to {1}.", dateString, result.ToString()) + "\n";
else
   outputBlock.Text += String.Format("'{0}' is not in the correct format.", dateString) + "\n";
// The example displays the following output:
//    '06/15/2008' converts to 6/15/2008 12:00:00 AM +00:00.
//    ' 06/15/2008' is not in the correct format.
//    ' 06/15/   2008  15:15    -05:00' converts to 6/15/2008 3:15:00 PM -05:00.
//    '  06/15/2008 15:15:30 -05:00' converts to 6/15/2008 8:15:30 PM +00:00.


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft. All rights reserved.