DateTimeOffset.Parse 메서드

정의

날짜 및 시간에 대한 지정된 문자열 표현을 해당 DateTimeOffset으로 변환합니다.

오버로드

Parse(String)

날짜, 시간 및 오프셋의 지정된 문자열 표현을 해당 DateTimeOffset으로 변환합니다.

Parse(ReadOnlySpan<Char>, IFormatProvider)

문자 범위를 값으로 구문 분석합니다.

Parse(String, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 날짜 및 시간의 지정된 문자열 표현을 해당 DateTimeOffset으로 변환합니다.

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

지정된 문화권별 형식 정보 및 형식 지정 스타일을 사용하여 날짜 및 시간의 지정된 범위 표현을 해당하는 DateTimeOffset로 변환합니다.

Parse(String, IFormatProvider, DateTimeStyles)

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

설명

중요

일본어 달력의 시대는 천황 통치 기간을 기준으로 하므로 변경되어야 합니다. 예를 들어 2019년 5월 1일은 JapaneseCalendarJapaneseLunisolarCalendar에서 레이와 시대의 시작을 나타냅니다. 이러한 시대 변경 내용은 해당 달력을 사용하는 모든 애플리케이션에 영향을 줍니다. 자세한 내용과 애플리케이션이 영향을 받는지 여부를 확인하려면 .NET에서 일본 달력의 새 시대 처리를 참조하세요. Windows 시스템에서 애플리케이션을 테스트하여 시대 변화에 대한 준비 상태를 확인하는 방법에 대한 자세한 내용은 일본 시대 변화에 맞게 애플리케이션 준비를 참조하세요. 여러 시대가 있는 달력을 지원하는 .NET의 기능과 여러 연대를 지원하는 달력으로 작업할 때 모범 사례는 연대 작업을 참조하세요.

Parse(String)

날짜, 시간 및 오프셋의 지정된 문자열 표현을 해당 DateTimeOffset으로 변환합니다.

public:
 static DateTimeOffset Parse(System::String ^ input);
public static DateTimeOffset Parse (string input);
static member Parse : string -> DateTimeOffset
Public Shared Function Parse (input As String) As DateTimeOffset

매개 변수

input
String

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

반환

input에 포함된 날짜 및 시간에 해당하는 개체입니다.

예외

오프셋이 14시간보다 크거나 -14시간보다 작습니다.

input이(가) null인 경우

input에 날짜 및 시간의 유효한 문자열 표현이 없습니다.

또는

input에 날짜 또는 시간이 없는 오프셋 값의 문자열 표시가 있습니다.

예제

다음 예제에서는 메서드를 Parse(String) 호출하여 여러 날짜 및 시간 문자열을 구문 분석합니다. 이 예제에는 문화권이 en-us인 시스템에서 2007년 3월 22일의 출력이 포함됩니다.

string dateString;
DateTimeOffset offsetDate;

// String with date only
dateString = "05/01/2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());

// String with time only
dateString = "11:36 PM";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());

// String with date and offset
dateString = "05/01/2008 +1:00";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());

// String with day abbreviation
dateString = "Thu May 01, 2008";
offsetDate = DateTimeOffset.Parse(dateString);
Console.WriteLine(offsetDate.ToString());
// String with date only
let dateString = "05/01/2008"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"

// String with time only
let dateString = "11:36 PM"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"

// String with date and offset
let dateString = "05/01/2008 +1:00"
let offsetDate = DateTimeOffset.Parse dateString
printfn $"{offsetDate}"

// String with day abbreviation
let dateString = "Thu May 01, 2008"
let offsetDate = DateTimeOffset.Parse(dateString)
printfn $"{offsetDate}"
Dim dateString As String
Dim offsetDate As DateTimeOffset

' String with date only
dateString = "05/01/2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 12:00:00 AM -07:00  

' String with time only
dateString = "11:36 PM"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 3/26/2007 11:36:00 PM -07:00

' String with date and offset 
dateString = "05/01/2008 +7:00"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 12:00:00 AM +07:00

' String with day abbreviation
dateString = "Thu May 01, 2008"
offsetDate = DateTimeOffset.Parse(dateString)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 12:00:00 AM -07:00

설명

Parse(String) 는 임의의 순서로 표시되고 공백으로 구분되는 세 가지 요소가 있는 문자열을 구문 분석합니다. 이러한 세 가지 요소는 다음 표와 같습니다.

요소 예제
<Date> "2/10/2007"
<Time> "오후 1:02:03"
<Offset> "-7:30"

이러한 각 요소는 선택 사항이지만 Offset <> 은 단독으로 표시할 수 없습니다. 날짜> 또는 <시간과> 함께 <제공되어야 합니다. Date>가 누락된 경우 <기본값은 현재 날짜입니다. Time>이 누락된 경우 <기본값은 오전 12:00:00입니다. Date>가 있지만 해당 연도 구성 요소가 두 자리 숫자로만 구성된 경우 <속성 값 Calendar.TwoDigitYearMax 에 따라 현재 문화권의 현재 달력에서 1년으로 변환됩니다. Offset>이 누락된 경우 <기본값은 현지 표준 시간대의 오프셋입니다. <오프셋> 은 UTC(협정 세계시)의 음수 또는 양수 오프셋을 나타낼 수 있습니다. 두 경우 모두 Offset>에는 <기호 기호가 포함되어야 합니다.

문자열은 input 현재 문화권에 대해 초기화된 개체의 DateTimeFormatInfo 서식 정보를 사용하여 구문 분석됩니다. 현재 문화권의 서식에 반드시 해당하지 않는 지정된 서식이 포함된 문자열을 구문 분석하려면 메서드를 ParseExact 사용하고 형식 지정자를 제공합니다.

추가 정보

적용 대상

Parse(ReadOnlySpan<Char>, IFormatProvider)

문자 범위를 값으로 구문 분석합니다.

public:
 static DateTimeOffset Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As DateTimeOffset

매개 변수

s
ReadOnlySpan<Char>

구문 분석할 문자의 범위입니다.

provider
IFormatProvider

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

반환

구문 분석의 결과입니다 s.

구현

적용 대상

Parse(String, IFormatProvider)

지정된 문화권별 형식 정보를 사용하여 날짜 및 시간의 지정된 문자열 표현을 해당 DateTimeOffset으로 변환합니다.

public:
 static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
 static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<DateTimeOffset>::Parse;
public static DateTimeOffset Parse (string input, IFormatProvider formatProvider);
public static DateTimeOffset Parse (string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As DateTimeOffset

매개 변수

input
String

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

formatProvider
IFormatProvider

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

반환

formatProvider에 의해 지정된 대로 input에 포함된 날짜 및 시간에 해당하는 개체입니다.

구현

예외

오프셋이 14시간보다 크거나 -14시간보다 작습니다.

input이(가) null인 경우

input에 날짜 및 시간의 유효한 문자열 표현이 없습니다.

또는

input에 날짜 또는 시간이 없는 오프셋 값의 문자열 표시가 있습니다.

예제

다음 예제에서는 fr-fr 문화권에 대해 서식이 지정된 날짜 및 시간 문자열을 구문 분석하고 로컬 시스템의 기본 en-us 문화권을 사용하여 표시합니다.

DateTimeFormatInfo fmt = new CultureInfo("fr-fr").DateTimeFormat;
string dateString;
DateTimeOffset offsetDate;

dateString = "03-12-07";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
                  dateString,
                  offsetDate.ToString());

dateString = "15/09/07 08:45:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
                  dateString,
                  offsetDate.ToString());

dateString = "mar. 1 janvier 2008 1:00:00 +1:00";
offsetDate = DateTimeOffset.Parse(dateString, fmt);
Console.WriteLine("{0} returns {1}",
                  dateString,
                  offsetDate.ToString());
// The example displays the following output to the console:
//    03-12-07 returns 12/3/2007 12:00:00 AM -08:00
//    15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
//    mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
let fmt = CultureInfo("fr-fr").DateTimeFormat
let dateString = "03-12-07"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"

let dateString = "15/09/07 08:45:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"

let dateString = "mar. 1 janvier 2008 1:00:00 +1:00"
let offsetDate = DateTimeOffset.Parse(dateString, fmt)
printfn $"{dateString} returns {offsetDate}"

// The example displays the following output to the console:
//    03-12-07 returns 12/3/2007 12:00:00 AM -08:00
//    15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
//    mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00
Dim fmt As DateTimeFormatInfo = New CultureInfo("fr-fr").DateTimeFormat
Dim dateString As String
Dim offsetDate As DateTimeOffset

dateString = "03-12-07"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
                  dateString, _
                  offsetDate.ToString())

dateString = "15/09/07 08:45:00 +1:00"
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
                  dateString, _
                  offsetDate.ToString())

dateString = "mar. 1 janvier 2008 1:00:00 +1:00" 
offsetDate = DateTimeOffset.Parse(dateString, fmt)
Console.WriteLine("{0} returns {1}", _
                  dateString, _
                  offsetDate.ToString())
' The example displays the following output to the console:
'    03-12-07 returns 12/3/2007 12:00:00 AM -08:00
'    15/09/07 08:45:00 +1:00 returns 9/15/2007 8:45:00 AM +01:00
'    mar. 1 janvier 2008 1:00:00 +1:00 returns 1/1/2008 1:00:00 AM +01:00

설명

이 메서드는 임의의 순서로 표시할 수 있고 공백으로 구분되는 세 가지 요소가 있는 문자열을 구문 분석합니다. 이러한 세 가지 요소는 다음 표에 나와 있습니다.

요소 예제
<Date> "2/10/2007"
<Time> "오후 1:02:03"
<Offset> "-7:30"

이러한 각 요소는 선택 사항이지만 Offset <> 은 단독으로 표시할 수 없습니다. 날짜> 또는 <시간과> 함께 <제공되어야 합니다. Date>가 누락된 경우 <기본값은 현재 날짜입니다. Date>가 있지만 해당 연도 구성 요소가 두 자리 숫자로만 구성된 경우 <속성 값 Calendar.TwoDigitYearMax 에 따라 매개 변수의 현재 달력에서 provider 1년으로 변환됩니다. Time>이 누락된 경우 <기본값은 오전 12:00:00입니다. Offset>이 누락된 경우 <기본값은 현지 표준 시간대의 오프셋입니다. <오프셋> 은 UTC(협정 세계시)의 음수 또는 양수 오프셋을 나타낼 수 있습니다. 두 경우 모두 Offset>에는 <기호 기호가 포함되어야 합니다.

이러한 세 요소의 형식은 다음 중 하나일 수 있는 매개 변수에 의해 formatProvider 정의됩니다.

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

오프셋>에 <사용되는 양수 또는 음수 기호는 + 또는 -여야 합니다. 매개 변수의 개체 formatProvider 또는 NegativeSign 속성에 NumberFormatInfo 의해 PositiveSign 정의되지 않습니다.

추가 정보

적용 대상

Parse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles)

지정된 문화권별 형식 정보 및 형식 지정 스타일을 사용하여 날짜 및 시간의 지정된 범위 표현을 해당하는 DateTimeOffset로 변환합니다.

public static DateTimeOffset Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
public static DateTimeOffset Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default, System.Globalization.DateTimeStyles styles = System.Globalization.DateTimeStyles.None);
static member Parse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing, Optional styles As DateTimeStyles = System.Globalization.DateTimeStyles.None) As DateTimeOffset

매개 변수

input
ReadOnlySpan<Char>

변환할 날짜 및 시간을 나타내는 문자를 포함하는 범위입니다.

formatProvider
IFormatProvider

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

styles
DateTimeStyles

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

반환

formatProviderstyles에 의해 지정된 대로 input에 포함된 날짜 및 시간과 같은 개체입니다.

적용 대상

Parse(String, IFormatProvider, DateTimeStyles)

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

public:
 static DateTimeOffset Parse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles);
public static DateTimeOffset Parse (string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles);
public static DateTimeOffset Parse (string input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles);
static member Parse : string * IFormatProvider * System.Globalization.DateTimeStyles -> DateTimeOffset
Public Shared Function Parse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles) As DateTimeOffset

매개 변수

input
String

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

formatProvider
IFormatProvider

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

styles
DateTimeStyles

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

반환

formatProviderstyles에 의해 지정된 대로 input에 포함된 날짜 및 시간과 같은 개체입니다.

예외

오프셋이 14시간보다 크거나 -14시간보다 작습니다.

또는

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

또는

styles에 지원되지 않는 DateTimeStyles 값이 포함되어 있습니다.

또는

styles는 함께 사용할 수 없는 DateTimeStyles 값을 포함합니다.

input이(가) null인 경우

input에 날짜 및 시간의 유효한 문자열 표현이 없습니다.

또는

input에 날짜 또는 시간이 없는 오프셋 값의 문자열 표시가 있습니다.

예제

다음 예제에서는 메서드의 매개 변수 Parse(String, IFormatProvider, DateTimeStyles)DateTimeStyles.AssumeLocal, DateTimeStyles.AssumeUniversalDateTimeStyles.AdjustToUniversal 값을 styles 전달하는 효과를 보여 줍니다.

string dateString;
DateTimeOffset offsetDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal);
Console.WriteLine(offsetDate.ToString());   // Displays 5/1/2008 6:00:00 AM -07:00

// Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal);
Console.WriteLine(offsetDate.ToString());   // Displays 5/1/2008 6:00:00 AM +00:00

// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal);
Console.WriteLine(offsetDate.ToString());   // Displays 5/1/2008 1:00:00 AM +00:00
let dateString = "05/01/2008 6:00:00"
// Assume time is local
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeLocal)
printfn $"{offsetDate}"   // Displays 5/1/2008 6:00:00 AM -07:00

// Assume time is UTC
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AssumeUniversal)
printfn $"{offsetDate}"   // Displays 5/1/2008 6:00:00 AM +00:00

// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
let offsetDate = DateTimeOffset.Parse(dateString, null, DateTimeStyles.AdjustToUniversal)
printfn $"{offsetDate}"   // Displays 5/1/2008 1:00:00 AM +00:00
Dim dateString As String
Dim offsetDate As DateTimeOffset

dateString = "05/01/2008 6:00:00"
' Assume time is local 
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AssumeLocal)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 6:00:00 AM -07:00

' Assume time is UTC
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AssumeUniversal)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 6:00:00 AM +00:00

' Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00"
offsetDate = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.AdjustToUniversal)
Console.WriteLine(offsetDate.ToString())   ' Displays 5/1/2008 1:00:00 AM +00:00

설명

이 메서드는 임의의 순서로 표시할 수 있고 공백으로 구분되는 세 가지 요소가 있는 문자열을 구문 분석합니다. 이러한 세 가지 요소는 다음 표에 나와 있습니다.

요소 예제
<Date> "2/10/2007"
<Time> "오후 1:02:03"
<Offset> "-7:30"

이러한 각 요소는 선택 사항이지만 Offset <> 은 단독으로 표시할 수 없습니다. 날짜> 또는 <시간과> 함께 <제공되어야 합니다. Date>가 누락된 경우 <기본값은 현재 날짜입니다. Date>가 있지만 해당 연도 구성 요소가 두 자리 숫자로만 구성된 경우 <속성 값 Calendar.TwoDigitYearMax 에 따라 매개 변수의 현재 달력에서 provider 1년으로 변환됩니다. Time>이 누락된 경우 <기본값은 오전 12:00:00입니다. Offset>이 누락된 경우 <기본값은 현지 표준 시간대의 오프셋이거나 TimeSpan.Zero 매개 변수에 styles 또는 DateTimeStyles.AssumeUniversal 값이 지정된 경우 DateTimeStyles.AdjustToUniversal 입니다. Offset>이 있는 경우 <UTC(협정 세계시)의 음수 또는 양수 오프셋을 나타낼 수 있습니다. 두 경우 모두 Offset>에는 <기호 기호가 포함되어야 합니다.

이러한 세 요소의 형식은 다음 중 하나일 수 있는 매개 변수에 의해 formatProvider 정의됩니다.

각 요소는 선행 또는 후행 공백으로 묶을 수도 있으며 <Date> 및 <Time> 요소에는 내부 공백(예: 6: 00:00)이 포함될 수 있습니다. <오프셋> 구성 요소만 내부 공백을 포함할 수 없습니다.

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

오프셋>에 <사용되는 양수 또는 음수 기호는 + 또는 -여야 합니다. 매개 변수에서 반환된 PositiveSign 개체의 NumberFormatInfo 또는 NegativeSign 속성에 의해 formatProvider 정의되지 않습니다.

다음 표에서는 지원되는 열거형의 System.Globalization.DateTimeStyles 멤버를 보여줍니다.

DateTimeStyles 멤버 Description
AdjustToUniversal 가 나타내는 input 문자열을 구문 분석하고 필요한 경우 UTC로 변환합니다. 문자열을 구문 분석한 다음 반환 DateTimeOffset 된 개체의 메서드를 DateTimeOffset.ToUniversalTime 호출하는 것과 같습니다.
AllowInnerWhite 유효하지만 이 값은 무시됩니다. Date 및 <Time> 요소에는 내부 공백이 <> 허용됩니다.
AllowLeadingWhite 유효하지만 이 값은 무시됩니다. 선행 공백은 구문 분석된 문자열의 각 구성 요소 앞에 허용됩니다.
AllowTrailingWhite 유효하지만 이 값은 무시됩니다. 구문 분석된 문자열의 각 구성 요소 앞에 후행 공백이 허용됩니다.
AllowWhiteSpaces 기본 동작입니다. 와 같은 DateTimeStyles.None보다 제한적인 DateTimeStyles 열거형 값을 제공하여 재정의할 수 없습니다.
AssumeLocal 매개 변수에 input Offset> 요소가 없는 <경우 현지 표준 시간대의 오프셋이 제공되어야 임을 나타냅니다. 이 동작은 메서드의 기본 동작입니다 Parse .
AssumeUniversal 매개 변수에 input Offset> 요소가 없는 <경우 UTC 오프셋(00:00)을 제공해야 했음을 나타냅니다.
None 유효하지만 이 값은 무시되며 아무런 효과가 없습니다.
RoundtripKind 구조체에 DateTimeOffset 속성이 Kind 포함되어 있지 않으므로 이 값은 영향을 주지 않습니다.

DateTimeStyles.NoCurrentDateDefault 값만 지원되지 않습니다. ArgumentException 이 값이 매개 변수에 styles 포함된 경우 이 throw됩니다.

추가 정보

적용 대상