DateTime.TryParseExact メソッド

定義

指定した文字列形式の日付と時刻を等価の DateTime の値に変換します。Converts the specified string representation of a date and time to its DateTime equivalent. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match a specified format exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

オーバーロード

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)

指定した書式、カルチャ固有の書式情報、スタイルを使用して、指定した日付と時刻のスパン表現を、それと等価な DateTime に変換します。Converts the specified span representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime)

指定した日付と時刻の文字スパンを、それと等価な DateTime に変換し、変換が成功したかどうかを示す値を返します。Converts the specified char span of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、指定した日付と時刻の文字列形式を等価の DateTime に変換します。Converts the specified string representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)

指定した書式の配列、カルチャ固有の書式情報、およびスタイルを使用して、指定した日付と時刻の文字列形式を等価の DateTime に変換します。Converts the specified string representation of a date and time to its DateTime equivalent using the specified array of formats, culture-specific format information, and style. 文字列形式の書式は、指定した書式の少なくとも 1 つと完全に一致する必要があります。The format of the string representation must match at least one of the specified formats exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

注釈

重要

和暦の時代 (年号) は天皇の代に基づいているため、変更されることが予想されます。Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. たとえば、JapaneseCalendarJapaneseLunisolarCalendar において、2019 年 5 月 1 日から令和時代が始まることになりました。For example, May 1, 2019 marked the beginning of the Reiwa era in the JapaneseCalendar and JapaneseLunisolarCalendar. このような時代 (年号) の変更は、これらのカレンダーを使用するすべてのアプリケーションに影響します。Such a change of era affects all applications that use these calendars. 詳細については「.NET での日本語のカレンダーの新しい時代」をご覧いただき、アプリケーションが影響を受けるかどうかを判断します。See Handling a new era in the Japanese calendar in .NET for more information and to determine whether your applications are affected. 日本語の時代の変更のためのアプリケーションの準備」をご覧いただき、時代の変更に対する状況を確認するために Windows システムでアプリケーションをテストします。See Prepare your application for the Japanese era change for information on testing your applications on Windows systems to ensure their readiness for the era change. 複数の時代 (年号) を含むカレンダーをサポートしている .NET の機能や、複数の時代 (年号) をサポートしているカレンダーを操作する際のベスト プラクティスについては、「Working with eras (時代 (年号) の操作)」をご覧ください。See Working with eras for features in .NET that support calendars with multiple eras and for best practices when working with calendars that support multiple eras.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)

指定した書式、カルチャ固有の書式情報、スタイルを使用して、指定した日付と時刻のスパン表現を、それと等価な DateTime に変換します。Converts the specified span representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParseExact(ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

パラメーター

s
ReadOnlySpan<Char>

変換する日付と時刻を表す文字を含むスパン。A span containing the characters representing a date and time to convert.

format
ReadOnlySpan<Char>

s に必要な書式。The required format of s.

provider
IFormatProvider

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

style
DateTimeStyles

s の許可された書式を示す 1 つまたは複数の列挙値のビットごとの組み合わせ。A bitwise combination of one or more enumeration values that indicate the permitted format of s.

result
DateTime

変換に成功した場合は、このメソッドから戻る時点で、DateTime に格納された日時と等しい s 値が格納されます。変換に失敗した場合は MinValue が格納されます。When this method returns, contains the DateTime value equivalent to the date and time contained in s, if the conversion succeeded, or MinValue if the conversion failed. s パラメーターまたは format パラメーターが null の場合、空の文字列の場合、あるいは format に指定されたパターンに一致する日時が含まれていない場合、変換は失敗します。The conversion fails if either the s or format parameter is null, is an empty string, or does not contain a date and time that correspond to the pattern specified in format. このパラメーターは初期化せずに渡されます。This parameter is passed uninitialized.

戻り値

true が正常に変換された場合は s。それ以外の場合は falsetrue if s was converted successfully; otherwise, false.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime)

指定した日付と時刻の文字スパンを、それと等価な DateTime に変換し、変換が成功したかどうかを示す値を返します。Converts the specified char span of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParseExact(ReadOnlySpan<char> s, cli::array <System::String ^> ^ formats, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As ReadOnlySpan(Of Char), formats As String(), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

パラメーター

s
ReadOnlySpan<Char>

解析する文字列を含むスパン。The span containing the string to parse.

formats
String[]

s の許可された形式の配列。An array of allowable formats of s.

provider
IFormatProvider

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

style
DateTimeStyles

現在のタイム ゾーンまたは現在の日付と関連させて、解析された日付をどのように解釈するかを定義する列挙値のビットごとの組み合わせ。A bitwise combination of enumeration values that defines how to interpret the parsed date in relation to the current time zone or the current date. 通常指定する値は、None です。A typical value to specify is None.

result
DateTime

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

戻り値

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

TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)

指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、指定した日付と時刻の文字列形式を等価の DateTime に変換します。Converts the specified string representation of a date and time to its DateTime equivalent using the specified format, culture-specific format information, and style. 文字列形式の書式は、指定した書式と完全に一致する必要があります。The format of the string representation must match the specified format exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParseExact(System::String ^ s, System::String ^ format, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (string s, string format, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : string * string * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As String, format As String, provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

パラメーター

s
String

変換する日付と時刻を格納した文字列。A string containing a date and time to convert.

format
String

s に必要な書式。The required format of s.

provider
IFormatProvider

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

style
DateTimeStyles

s の許可された書式を示す 1 つまたは複数の列挙値のビットごとの組み合わせ。A bitwise combination of one or more enumeration values that indicate the permitted format of s.

result
DateTime

変換に成功した場合は、このメソッドから戻る時点で、DateTime に格納された日時と等しい s 値が格納されます。変換に失敗した場合は MinValue が格納されます。When this method returns, contains the DateTime value equivalent to the date and time contained in s, if the conversion succeeded, or MinValue if the conversion failed. s パラメーターまたは format パラメーターが null の場合、空の文字列の場合、あるいは format に指定されたパターンに一致する日時が含まれていない場合、変換は失敗します。The conversion fails if either the s or format parameter is null, is an empty string, or does not contain a date and time that correspond to the pattern specified in format. このパラメーターは初期化せずに渡されます。This parameter is passed uninitialized.

戻り値

true が正常に変換された場合は s。それ以外の場合は falsetrue if s was converted successfully; otherwise, false.

例外

styles は有効な DateTimeStyles 値ではありません。styles is not a valid DateTimeStyles value.

- または --or- stylesDateTimeStyles 値の正しくない組み合わせが含まれています (たとえば、AssumeLocalAssumeUniversal の両方などです)。styles contains an invalid combination of DateTimeStyles values (for example, both AssumeLocal and AssumeUniversal).

DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)メソッドの例を次に示します。The following example demonstrates the DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method. formatで先頭のスペースが許可されていないため、styles パラメーターが DateTimeStyles.None のときに、文字列 "5/01/2009 8:30 AM" を正常に解析できないことに注意してください。Note that the string " 5/01/2009 8:30 AM" cannot be parsed successfully when the styles parameter equals DateTimeStyles.None because leading spaces are not allowed by format. さらに、文字列 "5/01/2009 09:00" を "MM/dd/yyyyhh: mm" の format で正常に解析することはできません。これは、format が必要とするため、日付文字列が月番号の前に先行ゼロを付けないためです。Additionally, the string "5/01/2009 09:00" cannot be parsed successfully with a format of "MM/dd/yyyyhh:mm" because the date string does not precede the month number with a leading zero, as format requires.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo enUS = new CultureInfo("en-US"); 
      string dateString;
      DateTime dateValue;
      
      // Parse date with no style flags.
      dateString = " 5/01/2009 8:30 AM";
      if (DateTime.TryParseExact(dateString, "g", enUS, 
                                 DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "g", enUS, 
                                 DateTimeStyles.AllowLeadingWhite, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
      
      // Use custom formats with M and MM.
      dateString = "5/01/2009 09:00";
      if (DateTime.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, 
                                 DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS, 
                              DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Parse a string with time zone information.
      dateString = "05/01/2009 01:30:42 PM -05:00"; 
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, 
                              DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      // Allow a leading space in the date string.
      if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, 
                              DateTimeStyles.AdjustToUniversal, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
           
      // Parse a string representing UTC.
      dateString = "2008-06-11T16:11:20.0904778Z";
      if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, 
                                     DateTimeStyles.None, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

      if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, 
                                 DateTimeStyles.RoundtripKind, out dateValue))
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, 
                           dateValue.Kind);
      else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString);

   }
}
// The example displays the following output:
//    ' 5/01/2009 8:30 AM' is not in an acceptable format.
//    Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
//    Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
//    '5/01/2009 09:00' is not in an acceptable format.
//    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
//    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
//    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
//    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim enUS As New CultureInfo("en-US") 
      Dim dateString As String
      Dim dateValue As Date
      
      ' Parse date with no style flags.
      dateString = " 5/01/2009 8:30 AM"
      If Date.TryParseExact(dateString, "g", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      ' Allow a leading space in the date string.
      If Date.TryParseExact(dateString, "g", enUS, _
                            DateTimeStyles.AllowLeadingWhite, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      
      ' Use custom formats with M and MM.
      dateString = "5/01/2009 09:00"
      If Date.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      ' Allow a leading space in the date string.
      If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If

      ' Parse a string with time zone information.
      dateString = "05/01/2009 01:30:42 PM -05:00" 
      If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, _
                            DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      ' Allow a leading space in the date string.
      If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, _
                            DateTimeStyles.AdjustToUniversal, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
           
      ' Parse a string representing UTC.
      dateString = "2008-06-11T16:11:20.0904778Z"
      If Date.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, _
                                     DateTimeStyles.None, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
      
      If Date.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, _
                            DateTimeStyles.RoundtripKind, dateValue) Then
         Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
                           dateValue.Kind)
      Else
         Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
      End If
   End Sub
End Module
' The example displays the following output:
'    ' 5/01/2009 8:30 AM' is not in an acceptable format.
'    Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
'    Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
'    '5/01/2009 09:00' is not in an acceptable format.
'    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
'    Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
'    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
'    Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).

注釈

DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) メソッドは、日付の文字列形式を解析します。これは、format パラメーターで定義された形式である必要があります。The DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method parses the string representation of a date, which must be in the format defined by the format parameter. これは DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) メソッドに似ていますが、変換に失敗した場合に TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) メソッドが例外をスローしない点が異なります。It is similar to the DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) method, except that the TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method does not throw an exception if the conversion fails.

s パラメーターには、解析する日付と時刻が含まれており、format パラメーターで定義された形式である必要があります。The s parameter contains the date and time to parse and must be in a format defined by the format parameter. 日付、時刻、およびタイムゾーン要素が sに存在する場合は、formatによって指定された順序でも表示される必要があります。If date, time, and time zone elements are present in s, they must also appear in the order specified by format. format が時刻要素のない日付を定義し、解析操作が成功した場合、結果の DateTime 値の時間は深夜 (00:00:00) になります。If format defines a date with no time element and the parse operation succeeds, the resulting DateTime value has a time of midnight (00:00:00). format が日付要素のない時刻を定義し、解析操作が成功した場合、既定では、結果の DateTime 値は DateTime.Now.Dateの日付になります。また、stylesDateTimeStyles.NoCurrentDateDefault フラグが含まれている場合は、日付が DateTime.MinValue.Date になります。If format defines a time with no date element and the parse operation succeeds, the resulting DateTime value by default has a date of DateTime.Now.Date, or it has a date of DateTime.MinValue.Date if styles includes the DateTimeStyles.NoCurrentDateDefault flag. style パラメーターは、s パラメーターに先頭、内部、または末尾の空白文字を含めることができるかどうかを決定します。The style parameter determines whether the s parameter can contain leading, inner, or trailing white space characters.

タイムゾーン情報が含まれていない s、返された DateTime オブジェクトの Kind プロパティは DateTimeKind.Unspecifiedです。If s contains no time zone information, the Kind property of the returned DateTime object is DateTimeKind.Unspecified. この動作は、DateTimeStyles.AssumeLocal フラグを使用して変更できます。このフラグは、Kind プロパティが DateTimeKind.Localである DateTime 値を返すか、DateTimeStyles.AssumeUniversal プロパティが DateTimeStyles.AdjustToUniversal DateTime 値を返す Kind フラグと DateTimeKind.Utcフラグを使用します。This behavior can be changed by using the DateTimeStyles.AssumeLocal flag, which returns a DateTime value whose Kind property is DateTimeKind.Local, or by using the DateTimeStyles.AssumeUniversal and DateTimeStyles.AdjustToUniversal flags, which returns a DateTime value whose Kind property is DateTimeKind.Utc. にタイムゾーン情報が含まれている場合は、必要に応じて時刻が現地時刻に変換され、返された DateTime オブジェクトの Kind プロパティは DateTimeKind.Localに設定されます。If s contains time zone information, the time is converted to local time, if necessary, and the Kind property of the returned DateTime object is set to DateTimeKind.Local. この動作を変更するには、DateTimeStyles.RoundtripKind フラグを使用して世界協定時刻 (UTC) を現地時刻に変換しないようにし、Kind プロパティを DateTimeKind.Utcに設定します。This behavior can be changed by using the DateTimeStyles.RoundtripKind flag to not convert Coordinated Universal Time (UTC) to a local time and set the Kind property to DateTimeKind.Utc.

format パラメーターには、s パラメーターの予期される形式に対応するパターンが含まれています。The format parameter contains a pattern that corresponds to the expected format of the s parameter. format パラメーターのパターンは、カスタム日時書式指定文字列の表にある1つ以上のカスタム書式指定子、または標準の日時書式指定文字列の表から定義済みのパターンを識別する1つの標準書式指定子で構成されます。The pattern in the format parameter consists of one or more custom format specifiers from the Custom Date and Time Format Strings table, or a single standard format specifier, which identifies a predefined pattern, from the Standard Date and Time Format Strings table.

カスタム書式パターンで日付または時刻の区切り記号を使用しない場合は、provider パラメーターにインバリアントカルチャを使用し、各カスタム書式指定子の幅が最も広い形式を使用します。If you do not use date or time separators in a custom format pattern, use the invariant culture for the provider parameter and the widest form of each custom format specifier. たとえば、パターンに時間を指定する場合は、幅の狭い形式の "H" ではなく、広い形式の "HH" を指定します。For example, if you want to specify hours in the pattern, specify the wider form, "HH", instead of the narrower form, "H".

注意

解析操作を成功させるために、s が1つの形式に準拠している必要があるのではなく、DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) メソッドを呼び出して、複数の許可された形式を指定することができます。Rather than requiring that s conform to a single format for the parse operation to succeed, you can call the DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method and specify multiple permitted formats. これにより、解析操作が成功する可能性が高くなります。This makes the parse operation more likely to succeed.

s で使用される特定の日付と時刻の記号および文字列 (特定の言語での曜日の名前など) は、provider パラメーターによって定義されます。 format が標準書式指定子の文字列である場合、s の正確な形式として定義されています。The particular date and time symbols and strings (such as the names of the days of the week in a particular language) used in s are defined by the provider parameter, as is the precise format of s if format is a standard format specifier string. providerパラメーターには、次のいずれかを指定できます。The provider parameter can be any of the following:

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

styles パラメーターには、DateTimeStyles 列挙体の1つ以上のメンバーが含まれており、format で定義されていない空白を s で使用できるかどうか、および解析操作の正確な動作を制御するかどうかを決定します。The styles parameter includes one or more members of the DateTimeStyles enumeration that determine whether and where white space not defined by format can appear in s and that control the precise behavior of the parse operation. 次の表では、DateTimeStyles 列挙体の各メンバーが TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) メソッドの操作に与える影響について説明します。The following table describes how each member of the DateTimeStyles enumeration affects the operation of the TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method.

DateTimeStyles メンバーDateTimeStyles member 説明Description
AdjustToUniversal s を解析し、必要に応じて UTC に変換します。Parses s and, if necessary, converts it to UTC. s にタイムゾーンオフセットが含まれている場合、または s にタイムゾーン情報が含まれておらず、stylesDateTimeStyles.AssumeLocal フラグが含まれている場合、メソッドは文字列を解析し、ToUniversalTime を呼び出して返された DateTime 値を UTC に変換し、Kind プロパティを DateTimeKind.Utcに設定します。If s includes a time zone offset, or if s contains no time zone information but styles includes the DateTimeStyles.AssumeLocal flag, the method parses the string, calls ToUniversalTime to convert the returned DateTime value to UTC, and sets the Kind property to DateTimeKind.Utc. s が UTC を表すことを示している場合、または s にタイムゾーン情報が含まれておらず、styles かつ DateTimeStyles.AssumeUniversal フラグが含まれている場合、メソッドは文字列を解析し、返された DateTime 値に対してタイムゾーン変換を実行せず、Kind プロパティを DateTimeKind.Utcに設定します。If s indicates that it represents UTC, or if s does not contain time zone information but styles includes the DateTimeStyles.AssumeUniversal flag, the method parses the string, performs no time zone conversion on the returned DateTime value, and sets the Kind property to DateTimeKind.Utc. それ以外の場合、フラグは無効です。In all other cases, the flag has no effect.
AllowInnerWhite format によって定義されていない空白を、任意の個別の日付または時刻要素の間に表示できることを指定します。Specifies that white space not defined by format can appear between any individual date or time element.
AllowLeadingWhite format によって定義されていない空白が sの先頭に表示されることを指定します。Specifies that white space not defined by format can appear at the beginning of s.
AllowTrailingWhite format によって定義されていない空白が sの最後に表示されることを指定します。Specifies that white space not defined by format can appear at the end of s.
AllowWhiteSpaces sformatで定義されていない先頭、内部、および末尾の空白を含めることができるように指定します。Specifies that s may contain leading, inner, and trailing white spaces not defined by format.
AssumeLocal タイムゾーン情報が s ない場合は、現地時刻を表すと想定されます。Specifies that if s lacks any time zone information, it is assumed to represent a local time. DateTimeStyles.AdjustToUniversal フラグが存在しない場合、返される DateTime 値の Kind プロパティは DateTimeKind.Localに設定されます。Unless the DateTimeStyles.AdjustToUniversal flag is present, the Kind property of the returned DateTime value is set to DateTimeKind.Local.
AssumeUniversal タイムゾーン情報が s ない場合、UTC を表すことを前提としています。Specifies that if s lacks any time zone information, it is assumed to represent UTC. DateTimeStyles.AdjustToUniversal フラグが存在しない場合、メソッドは、返された DateTime 値を UTC から現地時刻に変換し、その Kind プロパティを DateTimeKind.Localに設定します。Unless the DateTimeStyles.AdjustToUniversal flag is present, the method converts the returned DateTime value from UTC to local time and sets its Kind property to DateTimeKind.Local.
NoCurrentDateDefault s に日付情報が含まれていない場合、戻り値の日付は DateTime.MinValue.Dateに設定されます。If s contains time without date information, the date of the return value is set to DateTime.MinValue.Date.
None s パラメーターは、既定値を使用して解析されます。The s parameter is parsed using default values. format に存在するもの以外の空白は許可されません。No white space other than that present in format is allowed. s に日付要素がない場合、返された DateTime 値の日付は1/1/0001 に設定されます。If s lacks a date component, the date of the returned DateTime value is set to 1/1/0001. タイムゾーン情報が含まれていない場合 s 返される DateTime オブジェクトの Kind プロパティは DateTimeKind.Unspecifiedに設定されます。If s contains no time zone information, the Kind property of the returned DateTime object is set to DateTimeKind.Unspecified. タイムゾーン情報が sに存在する場合、時刻は現地時刻に変換され、返された DateTime オブジェクトの Kind プロパティは DateTimeKind.Localに設定されます。If time zone information is present in s, the time is converted to local time and the Kind property of the returned DateTime object is set to DateTimeKind.Local.
RoundtripKind タイムゾーン情報を含む文字列の場合、は、Kind プロパティが DateTimeKind.Localに設定された DateTime 値への変換を防止しようとします。For strings that contain time zone information, tries to prevent the conversion to a DateTime value with its Kind property set to DateTimeKind.Local. このフラグは、主に UTC 時刻からローカル時刻への変換を防止します。This flag primarily prevents the conversion of UTC times to local times.

注意 (呼び出し元)

.NET Framework 4.NET Framework 4では、解析対象の文字列に1時間の部分と、アグリーメントに含まれていない AM/PM 指定子が含まれている場合、TryParseExact メソッドは false を返します。In the .NET Framework 4.NET Framework 4, the TryParseExact method returns false if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. .NET Framework 3.5.NET Framework 3.5 以前のバージョンでは、AM/PM 指定子は無視されます。In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.

こちらもご覧ください

TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)

指定した書式の配列、カルチャ固有の書式情報、およびスタイルを使用して、指定した日付と時刻の文字列形式を等価の DateTime に変換します。Converts the specified string representation of a date and time to its DateTime equivalent using the specified array of formats, culture-specific format information, and style. 文字列形式の書式は、指定した書式の少なくとも 1 つと完全に一致する必要があります。The format of the string representation must match at least one of the specified formats exactly. このメソッドは、変換に成功したかどうかを示す値を返します。The method returns a value that indicates whether the conversion succeeded.

public:
 static bool TryParseExact(System::String ^ s, cli::array <System::String ^> ^ formats, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (string s, string[] formats, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : string * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As String, formats As String(), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean

パラメーター

s
String

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

formats
String[]

s の許可された形式の配列。An array of allowable formats of s.

provider
IFormatProvider

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

style
DateTimeStyles

s で使用可能な書式を示す、列挙値のビットごとの組み合わせ。A bitwise combination of enumeration values that indicates the permitted format of s. 通常指定する値は、None です。A typical value to specify is None.

result
DateTime

変換に成功した場合は、このメソッドから戻る時点で、DateTime に格納された日時と等しい s 値が格納されます。変換に失敗した場合は MinValue が格納されます。When this method returns, contains the DateTime value equivalent to the date and time contained in s, if the conversion succeeded, or MinValue if the conversion failed. s または formatsnull の場合、s または formats の要素が空の文字列の場合、あるいは、s の書式が formats に指定されたいずれの書式パターンとも一致しない場合、変換は失敗します。The conversion fails if s or formats is null, s or an element of formats is an empty string, or the format of s is not exactly as specified by at least one of the format patterns in formats. このパラメーターは初期化せずに渡されます。This parameter is passed uninitialized.

戻り値

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

例外

styles は有効な DateTimeStyles 値ではありません。styles is not a valid DateTimeStyles value.

- または --or- stylesDateTimeStyles 値の正しくない組み合わせが含まれています (たとえば、AssumeLocalAssumeUniversal の両方などです)。styles contains an invalid combination of DateTimeStyles values (for example, both AssumeLocal and AssumeUniversal).

次の例では、DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) メソッドを使用して、さまざまな形式の文字列を正常に解析できることを確認します。The following example uses the DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) method to ensure that a string in a number of possible formats can be successfully parsed .

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", 
                         "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", 
                         "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", 
                         "M/d/yyyy h:mm", "M/d/yyyy h:mm", 
                         "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"};
      string[] dateStrings = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", 
                              "5/1/2009 6:32:00", "05/01/2009 06:32", 
                              "05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"}; 
      DateTime dateValue;
      
      foreach (string dateString in dateStrings)
      {
         if (DateTime.TryParseExact(dateString, formats, 
                                    new CultureInfo("en-US"), 
                                    DateTimeStyles.None, 
                                    out dateValue))
            Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue);
         else
            Console.WriteLine("Unable to convert '{0}' to a date.", dateString);
      }
   }
}
// The example displays the following output:
//       Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
//       Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
//       Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
//       Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
//       Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
//       Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim formats() As String = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", _
                                 "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", _
                                 "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", _
                                 "M/d/yyyy h:mm", "M/d/yyyy h:mm", _
                                 "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"}
      Dim dateStrings() As String = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", _
                                     "5/1/2009 6:32:00", "05/01/2009 06:32", _
                                     "05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"} 

      Dim dateValue As DateTime
      
      For Each dateString As String In dateStrings
         If Date.TryParseExact(dateString, formats, _
                               New CultureInfo("en-US"), _
                               DateTimeStyles.None, _
                               dateValue) Then
            Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue)
         Else
            Console.WriteLine("Unable to convert '{0}' to a date.", dateString)
         End If                                               
      Next
   End Sub   
End Module
' The example displays the following output:
'       Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
'       Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
'       Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
'       Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
'       Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
'       Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.

注釈

DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) メソッドは、formats パラメーターに割り当てられているパターンのいずれかと一致する日付の文字列形式を解析します。The DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method parses the string representation of a date that matches any one of the patterns assigned to the formats parameter. これは DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) メソッドに似ていますが、変換に失敗した場合に TryParseExact メソッドが例外をスローしない点が異なります。It is like the DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) method, except the TryParseExact method does not throw an exception if the conversion fails.

s パラメーターには、解析する日付と時刻が含まれています。The s parameter contains the date and time to parse. s パラメーターに時刻のみが含まれ、日付が含まれていない場合、style パラメーターに DateTimeStyles.NoCurrentDateDefault フラグが含まれていない限り、現在の日付が使用されます。この場合、既定の日付 (DateTime.Date.MinValue) が使用されます。If the s parameter contains only a time and no date, the current date is used unless the style parameter includes the DateTimeStyles.NoCurrentDateDefault flag, in which case the default date (DateTime.Date.MinValue) is used. s パラメーターに日付のみが含まれ、時刻が指定されていない場合は、深夜 (00:00:00) が使用されます。If the s parameter contains only a date and no time, midnight (00:00:00) is used. style パラメーターは、formats内のいずれかの書式指定文字列によって許可されていない空白文字を、s パラメーターに含めることができるかどうかも決定します。The style parameter also determines whether the s parameter can contain leading, inner, or trailing white space characters other than those permitted by one of the format strings in formats.

タイムゾーン情報が含まれていない s、返された DateTime オブジェクトの Kind プロパティは DateTimeKind.Unspecifiedです。If s contains no time zone information, the Kind property of the returned DateTime object is DateTimeKind.Unspecified. この動作は、DateTimeStyles.AssumeLocal フラグを使用して変更できます。このフラグは、Kind プロパティが DateTimeKind.Localである DateTime 値を返すか、DateTimeStyles.AssumeUniversal プロパティが DateTimeStyles.AdjustToUniversal DateTime 値を返す Kind フラグと DateTimeKind.Utcフラグを使用します。This behavior can be changed by using the DateTimeStyles.AssumeLocal flag, which returns a DateTime value whose Kind property is DateTimeKind.Local, or by using the DateTimeStyles.AssumeUniversal and DateTimeStyles.AdjustToUniversal flags, which returns a DateTime value whose Kind property is DateTimeKind.Utc. にタイムゾーン情報が含まれている場合は、必要に応じて時刻が現地時刻に変換され、返された DateTime オブジェクトの Kind プロパティは DateTimeKind.Localに設定されます。If s contains time zone information, the time is converted to local time, if necessary, and the Kind property of the returned DateTime object is set to DateTimeKind.Local. この動作を変更するには、DateTimeStyles.RoundtripKind フラグを使用して世界協定時刻 (UTC) を現地時刻に変換しないようにし、Kind プロパティを DateTimeKind.Utcに設定します。This behavior can be changed by using the DateTimeStyles.RoundtripKind flag to not convert Coordinated Universal Time (UTC) to a local time and set the Kind property to DateTimeKind.Utc.

formats パラメーターにはパターンの配列が含まれています。これには、解析操作が成功するかどうかを正確に一致させる必要がある s の1つです。The formats parameter contains an array of patterns, one of which s must match exactly if the parse operation is to succeed. formats パラメーターのパターンは、カスタム日時書式指定文字列テーブルの1つ以上のカスタム書式指定子、または標準の日時書式指定文字列の表から定義済みのパターンを識別する1つの標準書式指定子で構成されます。The patterns in the formats parameter consist of one or more custom format specifiers from the Custom Date and Time Format Strings table, or a single standard format specifier, which identifies a predefined pattern, from the Standard Date and Time Format Strings table.

カスタム書式パターンで日付または時刻の区切り記号を使用しない場合は、provider パラメーターにインバリアントカルチャを使用し、各カスタム書式指定子の幅が最も広い形式を使用します。If you do not use date or time separators in a custom format pattern, use the invariant culture for the provider parameter and the widest form of each custom format specifier. たとえば、パターンに時間を指定する場合は、幅の狭い形式の "H" ではなく、広い形式の "HH" を指定します。For example, if you want to specify hours in the pattern, specify the wider form, "HH", instead of the narrower form, "H".

s で使用される特定の日付と時刻の記号および文字列 (特定の言語での曜日の名前など) は、provider パラメーターによって定義されます。 format が標準書式指定子の文字列である場合、s の正確な形式として定義されています。The particular date and time symbols and strings (such as the names of the days of the week in a particular language) used in s are defined by the provider parameter, as is the precise format of s if format is a standard format specifier string. providerパラメーターには、次のいずれかを指定できます。The provider parameter can be any of the following:

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

styles パラメーターには、DateTimeStyles 列挙体の1つ以上のメンバーが含まれており、format で定義されていない空白を s で使用できるかどうか、および解析操作の正確な動作を制御するかどうかを決定します。The styles parameter includes one or more members of the DateTimeStyles enumeration that determine whether and where white space not defined by format can appear in s and that control the precise behavior of the parse operation. 次の表では、DateTimeStyles 列挙体の各メンバーが TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) メソッドの操作に与える影響について説明します。The following table describes how each member of the DateTimeStyles enumeration affects the operation of the TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) method.

DateTimeStyles メンバーDateTimeStyles member 説明Description
AdjustToUniversal s を解析し、必要に応じて UTC に変換します。Parses s and, if necessary, converts it to UTC. s にタイムゾーンオフセットが含まれている場合、または s にタイムゾーン情報が含まれておらず、stylesDateTimeStyles.AssumeLocal フラグが含まれている場合、メソッドは文字列を解析し、ToUniversalTime を呼び出して返された DateTime 値を UTC に変換し、Kind プロパティを DateTimeKind.Utcに設定します。If s includes a time zone offset, or if s contains no time zone information but styles includes the DateTimeStyles.AssumeLocal flag, the method parses the string, calls ToUniversalTime to convert the returned DateTime value to UTC, and sets the Kind property to DateTimeKind.Utc. s が UTC を表すことを示している場合、または s にタイムゾーン情報が含まれておらず、styles かつ DateTimeStyles.AssumeUniversal フラグが含まれている場合、メソッドは文字列を解析し、返された DateTime 値に対してタイムゾーン変換を実行せず、Kind プロパティを DateTimeKind.Utcに設定します。If s indicates that it represents UTC, or if s does not contain time zone information but styles includes the DateTimeStyles.AssumeUniversal flag, the method parses the string, performs no time zone conversion on the returned DateTime value, and sets the Kind property to DateTimeKind.Utc. それ以外の場合、フラグは無効です。In all other cases, the flag has no effect.
AllowInnerWhite format によって定義されていない空白を、任意の個別の日付または時刻要素の間に表示できることを指定します。Specifies that white space not defined by format can appear between any individual date or time element.
AllowLeadingWhite format によって定義されていない空白が sの先頭に表示されることを指定します。Specifies that white space not defined by format can appear at the beginning of s.
AllowTrailingWhite format によって定義されていない空白が sの最後に表示されることを指定します。Specifies that white space not defined by format can appear at the end of s.
AllowWhiteSpaces sformatで定義されていない先頭、内部、および末尾の空白を含めることができるように指定します。Specifies that s may contain leading, inner, and trailing white spaces not defined by format.
AssumeLocal タイムゾーン情報が s ない場合は、現地時刻を表すと想定されます。Specifies that if s lacks any time zone information, it is assumed to represent a local time. DateTimeStyles.AdjustToUniversal フラグが存在しない場合、返される DateTime 値の Kind プロパティは DateTimeKind.Localに設定されます。Unless the DateTimeStyles.AdjustToUniversal flag is present, the Kind property of the returned DateTime value is set to DateTimeKind.Local.
AssumeUniversal タイムゾーン情報が s ない場合、UTC を表すことを前提としています。Specifies that if s lacks any time zone information, it is assumed to represent UTC. DateTimeStyles.AdjustToUniversal フラグが存在しない場合、メソッドは、返された DateTime 値を UTC から現地時刻に変換し、その Kind プロパティを DateTimeKind.Localに設定します。Unless the DateTimeStyles.AdjustToUniversal flag is present, the method converts the returned DateTime value from UTC to local time and sets its Kind property to DateTimeKind.Local.
NoCurrentDateDefault s に日付情報が含まれていない場合、戻り値の日付は DateTime.MinValue.Dateに設定されます。If s contains time without date information, the date of the return value is set to DateTime.MinValue.Date.
None s パラメーターは、既定値を使用して解析されます。The s parameter is parsed using default values. format に存在するもの以外の空白は許可されません。No white space other than that present in format is allowed. s に日付要素がない場合、返された DateTime 値の日付は1/1/0001 に設定されます。If s lacks a date component, the date of the returned DateTime value is set to 1/1/0001. タイムゾーン情報が含まれていない場合 s 返される DateTime オブジェクトの Kind プロパティは DateTimeKind.Unspecifiedに設定されます。If s contains no time zone information, the Kind property of the returned DateTime object is set to DateTimeKind.Unspecified. タイムゾーン情報が sに存在する場合、時刻は現地時刻に変換され、返された DateTime オブジェクトの Kind プロパティは DateTimeKind.Localに設定されます。If time zone information is present in s, the time is converted to local time and the Kind property of the returned DateTime object is set to DateTimeKind.Local.
RoundtripKind タイムゾーン情報を含む文字列の場合、は、Kind プロパティが DateTimeKind.Localに設定された DateTime 値への変換を防止しようとします。For strings that contain time zone information, tries to prevent the conversion to a DateTime value with its Kind property set to DateTimeKind.Local. このフラグは、主に UTC 時刻からローカル時刻への変換を防止します。This flag primarily prevents the conversion of UTC times to local times.

注意 (呼び出し元)

.NET Framework 4.NET Framework 4では、解析対象の文字列に1時間の部分と、アグリーメントに含まれていない AM/PM 指定子が含まれている場合、TryParseExact メソッドは false を返します。In the .NET Framework 4.NET Framework 4, the TryParseExact method returns false if the string to be parsed contains an hour component and an AM/PM designator that are not in agreement. .NET Framework 3.5.NET Framework 3.5 以前のバージョンでは、AM/PM 指定子は無視されます。In the .NET Framework 3.5.NET Framework 3.5 and earlier versions, the AM/PM designator is ignored.

こちらもご覧ください

適用対象