DateTimeOffset.TryParse メソッド

定義

指定した文字列形式の日付と時刻を等価の DateTimeOffset の値に変換します。Converts a specified string representation of a date and time to its DateTimeOffset equivalent.

オーバーロード

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

指定した文字列形式の日時を対応する DateTimeOffset 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to convert a specified string representation of a date and time to its DateTimeOffset equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)
TryParse(String, DateTimeOffset)

指定した文字列表現の日時を対応する DateTimeOffset 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to converts a specified string representation of a date and time to its DateTimeOffset equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

指定した文字列形式の日時を対応する DateTimeOffset 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to convert a specified string representation of a date and time to its DateTimeOffset equivalent, and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParse : string * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean

パラメーター

input
String

変換する日時を含む文字列。A string that contains a date and time to convert.

formatProvider
IFormatProvider

input に関するカルチャ固有の書式情報を提供するオブジェクト。An object that provides culture-specific formatting information about input.

styles
DateTimeStyles

input で使用可能な書式を示す、列挙値のビットごとの組み合わせ。A bitwise combination of enumeration values that indicates the permitted format of input.

result
DateTimeOffset

このメソッドが戻る時に、変換に成功した場合は、DateTimeOffset の日時と等しい input が格納されます。変換に失敗した場合は MinValue が格納されます。When the method returns, contains the DateTimeOffset value equivalent to the date and time of input, if the conversion succeeded, or MinValue, if the conversion failed. input パラメーターが null の場合、または、日付と時刻を表す有効な文字列形式が指定されていない場合、変換に失敗します。The conversion fails if the input parameter is null or does not contain a valid string representation of a date and time. このパラメーターは初期化せずに渡されます。This parameter is passed uninitialized.

戻り値

input パラメーターが正常に変換された場合は true。それ以外の場合は falsetrue if the input parameter is successfully converted; otherwise, false.

例外

styles に未定義の DateTimeStyles 値が含まれています。styles includes an undefined DateTimeStyles value.

または-or- NoCurrentDateDefault がサポートされていません。NoCurrentDateDefault is not supported.

または-or- styles に相互に排他的な DateTimeStyles 値が含まれています。styles includes mutually exclusive DateTimeStyles values.

次の例ではTryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) 、さまざまな値をDateTimeStyles指定してメソッドを呼び出し、さまざまな日付と時刻の書式を使用して一部の文字列を解析します。The following example calls the TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) method with a variety of DateTimeStyles values to parse some strings with various date and time formats.

string dateString;
DateTimeOffset parsedDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local 
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider, 
                            DateTimeStyles.AssumeLocal, 
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.", 
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);    

// Assume time is UTC
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider, 
                            DateTimeStyles.AssumeUniversal, 
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.", 
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);    

// Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00";
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider, 
                           DateTimeStyles.AdjustToUniversal, 
                           out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.", 
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);    
// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.      
Dim dateString As String
Dim parsedDate As DateTimeOffset

dateString = "05/01/2008 6:00:00"
' Assume time is local 
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeLocal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Assume time is UTC
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00"
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AdjustToUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If
' The example displays the following output to the console:
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
'    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.      

注釈

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)メソッドのこのオーバーロードは、変換にDateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles)失敗した場合に例外をスローしない点を除いて、メソッドに似ています。This overload of the TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) method is like the DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) method, except that it does not throw an exception if the conversion fails. メソッドは、任意の順序で使用でき、空白で区切られた3つの要素を含む文字列を解析します。The method parses a string with three elements that can appear in any order and are delimited by white space. 次の表に、これら3つの要素を示します。These three elements are shown in the following table.

要素Element Example
<日付 ><Date> "2/10/2007""2/10/2007"
<時刻 ><Time> "1:02:03 PM""1:02:03 PM"
<オフセット ><Offset> "-7:30""-7:30"

これらの要素はいずれも省略可能<ですが、オフセット > を単独で表示することはできません。Although each of these elements is optional, <Offset> cannot appear by itself. 日付 > または< <時刻 > のいずれかと共に指定する必要があります。It must be provided together with either <Date> or <Time>. 日付<> が指定されていない場合は、その既定値が現在の日付になります。If <Date> is missing, its default value is the current day. 日付<> が存在しても、その年の部分が2桁のみで構成されている場合providerは、 Calendar.TwoDigitYearMaxプロパティの値に基づいて、パラメーターの現在の暦で年に変換されます。If <Date> is present but its year component consists of only two digits, it is converted to a year in the provider parameter's current calendar based on the value of the Calendar.TwoDigitYearMax property. 時刻<> が指定されていない場合、既定値は 12:00:00 AM です。If <Time> is missing, its default value is 12:00:00 AM. オフセット<> が指定されていない場合、既定値はローカルタイムゾーンのオフセットZero 、またDateTimeStyles.AdjustToUniversalDateTimeStyles.AssumeUniversalのいずれかの値stylesがに指定されている場合はです。If <Offset> is missing, its default value is the offset of the local time zone, or Zero if either the DateTimeStyles.AdjustToUniversal or DateTimeStyles.AssumeUniversal value is specified in styles. オフセット<> が存在する場合は、世界協定時刻 (UTC) からの負または正のオフセットを表すことができます。If <Offset> is present, it can represent either a negative or a positive offset from Coordinated Universal Time (UTC). どちらの場合も<、オフセット > には記号を含める必要がありfalseます。そうしないと、メソッドはを返します。In either case, <Offset> must include a sign symbol or the method returns false.

文字列は、 formatProviderパラメーターによって提供されるDateTimeFormatInfoオブジェクトでカルチャ固有の書式情報を使用して解析されます。 inputThe input string is parsed by using the culture-specific formatting information in a DateTimeFormatInfo object supplied by the formatProvider parameter. パラメーター formatProviderには、次のいずれかを指定できます。The formatProvider parameter can be either of the following:

また、各要素は先頭または末尾の空白<で区切ることができ、日付 > と<時刻 > コンポーネントには内部の空白 (6 など) を含めることができます。 00:00)。In addition, each element can be delimited by leading or trailing white space, and the <Date> and <Time> components can include inner white space (such as 6: 00:00). 内側の<空白文字を含めることができないのは、オフセット > コンポーネントのみです。Only the <Offset> component cannot include inner white space.

CultureInfoprovider の場合は、現在のカルチャに対応するオブジェクトが使用されます。nullIf provider is null, the CultureInfo object that corresponds to the current culture is used.

オフセット > で<使用する正または負の符号は、+ または-のいずれかである必要があります。The positive or negative sign used in <Offset> must be either + or -. PositiveSign NegativeSign NumberFormatInfoパラメーターのプロパティNumberFormatによって返されるオブジェクトのプロパティまたはプロパティによって定義されるわけではformatproviderありません。It is not defined by the PositiveSign or NegativeSign properties of the NumberFormatInfo object returned by the formatprovider parameter's NumberFormat property.

DateTimeStyles列挙体の次のメンバーがサポートされています。The following members of the DateTimeStyles enumeration are supported:

DateTimeStyles メンバーDateTimeStyles Member コメントComments
AdjustToUniversal によってinput表される文字列を解析し、必要に応じて UTC に変換します。Parses the string represented by input and, if necessary, converts it to UTC. これは、文字列を解析し、返されたオブジェクトのToUniversalTime()メソッドを呼び出すことと同じです。It is equivalent to parsing a string, and then calling the returned object's ToUniversalTime() method.
AllowInnerWhite 有効ですが、この値は無視されます。Although valid, this value is ignored. 内部の空白は、 <> コンポーネントの日付 > と<時刻で使用できます。Inner white space is allowed in the <Date> and <Time> components.
AllowLeadingWhite 有効ですが、この値は無視されます。Although valid, this value is ignored. 先頭の空白文字は、解析された文字列内の各コンポーネントの前に使用できます。Leading white space is allowed in front of each component in the parsed string.
AllowTrailingWhite 有効ですが、この値は無視されます。Although valid, this value is ignored. 末尾の空白文字は、解析された文字列内の各コンポーネントの前に使用できます。Trailing white space is allowed in front of each component in the parsed string.
AllowWhiteSpaces これが既定の動作です。This is the default behavior. など、 DateTimeStyles DateTimeStyles.Noneより制限の厳しい列挙値を指定することによってオーバーライドすることはできません。It cannot be overridden by supplying a more restrictive DateTimeStyles enumeration value, such as DateTimeStyles.None.
AssumeLocal パラメーターにinputオフセット > 要素が<不足している場合は、ローカルタイムゾーンのオフセットを指定する必要があることを示します。Indicates that, if the input parameter lacks an <Offset> element, the offset of the local time zone should be provided. これは、 TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)メソッドの既定の動作です。This is the default behavior of the TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) method.
AssumeUniversal パラメーターにinputオフセット > 要素が<不足している場合は、UTC オフセット (00:00) を指定する必要があることを示します。Indicates that, if the input parameter lacks an <Offset> element, the UTC offset (00:00) should be provided.
None 有効ですが、この値は無視され、効果はありません。Although valid, this value is ignored and has no effect.
RoundtripKind 構造体DateTimeOffsetにはKindプロパティが含まれていないため、この値は無効です。Because the DateTimeOffset structure does not include a Kind property, this value has no effect.

DateTimeStyles.NoCurrentDateDefault値のみがサポートされていません。Only the DateTimeStyles.NoCurrentDateDefault value is not supported. このArgumentException値がstylesパラメーターに含まれている場合は、がスローされます。An ArgumentException is thrown if this value is included in the styles parameter.

こちらもご覧ください

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

public:
 static bool TryParse(ReadOnlySpan<char> input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (ReadOnlySpan<char> input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean

パラメーター

formatProvider
IFormatProvider

戻り値

TryParse(String, DateTimeOffset)

指定した文字列表現の日時を対応する DateTimeOffset 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to converts a specified string representation of a date and time to its DateTimeOffset equivalent, and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParse(System::String ^ input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (string input, out DateTimeOffset result);
static member TryParse : string * DateTimeOffset -> bool
Public Shared Function TryParse (input As String, ByRef result As DateTimeOffset) As Boolean

パラメーター

input
String

変換する日時を含む文字列。A string that contains a date and time to convert.

result
DateTimeOffset

このメソッドが戻るときに、変換に成功した場合は input の日時と等しい DateTimeOffset が格納されます。変換に失敗した場合は MinValue が格納されます。When the method returns, contains the DateTimeOffset equivalent to the date and time of input, if the conversion succeeded, or MinValue, if the conversion failed. input パラメーターが null の場合、または、日付と時刻を表す有効な文字列形式が指定されていない場合、変換に失敗します。The conversion fails if the input parameter is null or does not contain a valid string representation of a date and time. このパラメーターは初期化せずに渡されます。This parameter is passed uninitialized.

戻り値

input パラメーターが正常に変換された場合は true。それ以外の場合は falsetrue if the input parameter is successfully converted; otherwise, false.

次の例ではTryParse(String, DateTimeOffset) 、メソッドを呼び出して、さまざまな日付と時刻の形式で複数の文字列を解析しています。The following example calls the TryParse(String, DateTimeOffset) method to parse several strings with various date and time formats.

DateTimeOffset parsedDate;
string dateString;

// String with date only
dateString = "05/01/2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.", 
                     dateString, parsedDate);

// String with time only
dateString = "11:36 PM";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.", 
                     dateString, parsedDate);

// String with date and offset 
dateString = "05/01/2008 +7:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.", 
                     dateString, parsedDate);

// String with day abbreviation
dateString = "Thu May 01, 2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.", 
                     dateString, parsedDate);

// String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.", 
                     dateString, parsedDate);
// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.                                 
Dim parsedDate As DateTimeOffset
Dim dateString As String

' String with date only
dateString = "05/01/2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with time only
dateString = "11:36 PM"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date and offset 
dateString = "05/01/2008 +7:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with day abbreviation
dateString = "Thu May 01, 2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)
' If run on 3/29/07, the example displays the following output
' to the console:
'    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
'    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
'    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.                                 

注釈

TryParse(String, DateTimeOffset)メソッドのこのオーバーロードは、変換にDateTimeOffset.Parse(String)失敗した場合に例外をスローしない点を除いて、メソッドに似ています。This overload of the TryParse(String, DateTimeOffset) method is like the DateTimeOffset.Parse(String) method, except that it does not throw an exception if the conversion fails. このメソッドは、任意の順序で使用でき、空白で区切られた3つの要素で構成される文字列を解析します。It parses a string with three elements that can appear in any order and are delimited by white space. 次の表に、これら3つの要素を示します。These three elements are shown in the following table.

要素Element Example
<日付 ><Date> "2/10/2007""2/10/2007"
<時刻 ><Time> "1:02:03 PM""1:02:03 PM"
<オフセット ><Offset> "-7:30""-7:30"

これらの要素はいずれも省略可能<ですが、オフセット > を単独で表示することはできません。Although each of these elements is optional, <Offset> cannot appear by itself. 日付 > または< <時刻 > のいずれかと共に指定する必要があります。It must be provided together with either <Date> or <Time>. 日付<> が指定されていない場合は、その既定値が現在の日付になります。If <Date> is missing, its default value is the current day. 日付<> が存在するが、その年の部分が2桁のみで構成されている場合は、 Calendar.TwoDigitYearMaxプロパティの値に基づいて現在のカルチャの現在の暦で年に変換されます。If <Date> is present but its year component consists of only two digits, it is converted to a year in the current culture's current calendar based on the value of the Calendar.TwoDigitYearMax property. 時刻<> が指定されていない場合、既定値は 12:00:00 AM です。If <Time> is missing, its default value is 12:00:00 AM. オフセット<> が指定されていない場合、その既定値はローカルタイムゾーンのオフセットになります。If <Offset> is missing, its default value is the offset of the local time zone. オフセット<> が存在する場合は、世界協定時刻 (UTC) からの負または正のオフセットを表すことができます。If <Offset> is present, it can represent either a negative or a positive offset from Coordinated Universal Time (UTC). どちらの場合も<、オフセット > には記号を含める必要がありfalseます。そうしないと、メソッドはを返します。In either case, <Offset> must include a sign symbol or the method returns false.

文字列は、現在のカルチャに対して初期化さDateTimeFormatInfoれたオブジェクトの書式情報を使用して解析されます。 inputThe input string is parsed by using the formatting information in a DateTimeFormatInfo object initialized for the current culture. 現在のカルチャのものとは必ずしも一致しない、指定された書式設定を含む文字列TryParseExactを解析するには、メソッドを使用して書式指定子を指定します。To parse a string that contains designated formatting that does not necessarily correspond to that of the current culture, use the TryParseExact method and provide a format specifier.

こちらもご覧ください

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

public:
 static bool TryParse(ReadOnlySpan<char> input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (ReadOnlySpan<char> input, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), ByRef result As DateTimeOffset) As Boolean

パラメーター

戻り値

適用対象