DateTime.TryParse DateTime.TryParse DateTime.TryParse DateTime.TryParse Method

정의

날짜와 시간에 대한 지정된 문자열 표현을 해당 DateTime 요소로 변환하고, 변환에 성공했는지를 나타내는 값을 반환합니다.Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

오버로드

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

날짜와 시간에 대한 지정된 문자열 표현을 해당 DateTime 요소로 변환하고, 변환에 성공했는지를 나타내는 값을 반환합니다.Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime)

지정된 문화권별 형식 정보 및 서식 지정 스타일을 사용하여 날짜 및 시간의 지정된 문자열 표현을 해당 DateTime으로 변환하고 변환에 성공했는지를 나타내는 값을 반환합니다.Converts the specified string representation of a date and time to its DateTime equivalent using the specified culture-specific format information and formatting style, and returns a value that indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime)

설명

중요

일본어 달력의 시대는 천황 통치 기간을 기준으로 하므로 변경되어야 합니다.Eras in the Japanese calendars are based on the emperor's reign and are therefore expected to change. 예를 들어 2019년 5월 1일은 JapaneseCalendarJapaneseLunisolarCalendar에서 레이와 시대의 시작을 나타냅니다.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의 기능과 여러 시대를 지원하는 달력을 사용할 때 모범 사례에 대해서는 시대 작업을 참조하세요.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.

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

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

매개 변수

반환

TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime) TryParse(String, DateTime)

날짜와 시간에 대한 지정된 문자열 표현을 해당 DateTime 요소로 변환하고, 변환에 성공했는지를 나타내는 값을 반환합니다.Converts the specified string representation of a date and time to its DateTime equivalent and returns a value that indicates whether the conversion succeeded.

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

매개 변수

s
String String String String

날짜와 시간이 포함된 변환할 문자열입니다.A string containing a date and time to convert.

result
DateTime DateTime DateTime 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이거나, 빈 문자열("")이거나, 날짜 및 시간에 유효한 문자열 표현을 포함하고 있지 않으면 변환에 실패합니다.The conversion fails if the s parameter is null, is an empty string (""), or does not contain a valid string representation of a date and time. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.This parameter is passed uninitialized.

반환

true 매개 변수가 변환되었으면 s이고, 그렇지 않으면 false입니다.true if the s parameter was converted successfully; otherwise, false.

예제

다음 예제에서는 날짜 및 시간 문자열을 숫자로 전달 된 DateTime.TryParse(String, DateTime) 메서드.The following example passes a number of date and time strings to the DateTime.TryParse(String, DateTime) method.

using namespace System;
using namespace System::Globalization;

void main()
{
   array<String^>^ dateStrings = { "05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8", 
                                   "2009-05-01T14:57:32.8375298-04:00", 
                                    "5/01/2008 14:57:32.80 -07:00", 
                                    "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM", 
                                    "Fri, 15 May 2009 20:10:57 GMT" };
   DateTime dateValue;

   Console::WriteLine("Attempting to parse strings using {0} culture.", 
                     CultureInfo::CurrentCulture->Name);
   for each (String^ dateString in dateStrings)
   {
      if (DateTime::TryParse(dateString, dateValue)) 
         Console::WriteLine("  Converted '{0}' to {1} ({2}).", dateString, 
                           dateValue, dateValue.Kind);
      else
         Console::WriteLine("  Unable to parse '{0}'.", dateString);
   }
}
// The example displays the following output: 
//    Attempting to parse strings using en-US culture. 
//       Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified). 
//       Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified). 
//       Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local). 
//       Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local). 
//       Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified). 
//       Unable to parse '16-05-2009 1:00:32 PM'. 
//       Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
                              "2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
                              "5/01/2008 14:57:32.80 -07:00", 
                              "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM", 
                              "Fri, 15 May 2009 20:10:57 GMT" };
      DateTime dateValue;
      
      Console.WriteLine("Attempting to parse strings using {0} culture.", 
                        CultureInfo.CurrentCulture.Name);
      foreach (string dateString in dateStrings)
      {
         if (DateTime.TryParse(dateString, out dateValue)) 
            Console.WriteLine("  Converted '{0}' to {1} ({2}).", dateString, 
                              dateValue, dateValue.Kind);
         else
            Console.WriteLine("  Unable to parse '{0}'.", dateString);
      }
   }
}
// The example displays output like the following:
//    Attempting to parse strings using en-US culture.
//      Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
//      Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
//      Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
//
//      Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
//      Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
//      Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
//      Unable to parse '16-05-2009 1:00:32 PM'.
//      Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim dateStrings() As String = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
                                     "2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
                                     "5/01/2008 14:57:32.80 -07:00",
                                     "1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
                                     "Fri, 15 May 2009 20:10:57 GMT"}
      Dim dateValue As Date
      
      Console.WriteLine("Attempting to parse strings using {0} culture.", _
                        CultureInfo.CurrentCulture.Name)
      For Each dateString As String In dateStrings
         If Date.TryParse(dateString, dateValue) Then
            Console.WriteLine("  Converted '{0}' to {1} ({2}).", dateString, _
                              dateValue, dateValue.Kind)
         Else
            Console.WriteLine("  Unable to parse '{0}'.", dateString)
         End If
      Next
   End Sub
End Module
' The example displays output like the following:
'    Attempting to parse strings using en-US culture.
'      Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
'      Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
'      Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
'
'      Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
'      Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
'      Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
'      Unable to parse '16-05-2009 1:00:32 PM'.
'      Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).

설명

합니다 DateTime.TryParse(String, DateTime) 메서드는 비슷합니다는 DateTime.Parse(String) 메서드를 TryParse(String, DateTime) 메서드 변환에 실패 하면 예외를 throw 하지 않습니다.The DateTime.TryParse(String, DateTime) method is similar to the DateTime.Parse(String) method, except that the TryParse(String, DateTime) method does not throw an exception if the conversion fails.

문자열 s 서식 지정 정보를 사용 하 여 현재에서 구문 분석 DateTimeFormatInfo 현재 스레드 문화권에 의해 암시적으로 제공 되는 개체입니다.The string s is parsed using formatting information in the current DateTimeFormatInfo object, which is supplied implicitly by the current thread culture.

가능한 경우이 메서드는 인식할 수 없는 데이터를 무시 하 고 월, 일 및 연도 정보는 현재 날짜를 사용 하 여 누락 된 채워집니다.This method tries to ignore unrecognized data, if possible, and fills in missing month, day, and year information with the current date. 경우 s 날짜만 있고 시간이 포함이 메서드는 자정 12 시에 가정 합니다.If s contains only a date and no time, this method assumes the time is 12:00 midnight. 경우 s 날짜 구성 요소를 포함 한 두 자리 연도 사용 하 여의 값을 기반으로 현재 문화권의 현재 달력의 연간으로 변환 됩니다는 Calendar.TwoDigitYearMax 속성.If s includes a date component with a two-digit year, it is converted to a year in the current culture's current calendar based on the value of the Calendar.TwoDigitYearMax property. 내부 조인, 선행 또는 후행 공백 문자에서 s 무시 됩니다.Any leading, inner, or trailing white space character in s is ignored. 날짜 및 시간을 선행 및 후행 숫자 기호 문자 ('#', U + 00-23), 쌍을 사용 하 여 대괄호로 묶어야 하 고 하나를 사용 하 여 올 수 있습니다 또는 이상의 NULL 문자 (U + 0000)입니다.The date and time can be bracketed with a pair of leading and trailing NUMBER SIGN characters ('#', U+0023), and can be trailed with one or more NULL characters (U+0000).

때문에 DateTime.TryParse(String, DateTime) 메서드는 날짜의 문자열 표현을 구문 분석 하려고 시도 하 고 서로 다른 문화권에서 특정 문자열을 구문 분석 하는 동안 현재 문화권의 서식 규칙을 사용 하 여 실패 또는 다른 결과 반환할 수 있습니다.Because the DateTime.TryParse(String, DateTime) method tries to parse the string representation of a date and time using the formatting rules of the current culture, trying to parse a particular string across different cultures can either fail or return different results. 여러 로캘에서 특정 날짜 및 시간 서식을 구문 분석 됩니다을 하는 경우 사용 합니다 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 메서드 또는 오버 로드 중 하나는 TryParseExact 메서드 형식 지정자를 제공 하 고 합니다.If a specific date and time format will be parsed across different locales, use the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method or one of the overloads of the TryParseExact method and provide a format specifier.

하는 경우 s 윤년의 현재 달력이 메서드 구문 분석에서 윤 일의 문자열 표현인 s 성공적으로 합니다.If s is the string representation of a leap day in a leap year in the current calendar, the method parses s successfully. 하는 경우 s 윤 일에서 비-윤년 현재 문화권의 현재 달력의 문자열 표현입니다, 구문 분석 작업이 실패 하 고, 메서드가 반환 false합니다.If s is the string representation of a leap day in a non-leap year in the current culture's current calendar, the parse operation fails and the method returns false.

하는 경우 s 표준 시간대 정보가 없습니다 result 포함을 DateTimeKind 속성이 DateTimeKind.Unspecified 메서드를 반환 하는 경우.If s contains no time zone information, result contains a DateTime value whose Kind property is DateTimeKind.Unspecified when the method returns. 구문 분석 될 문자열 표준 시간대 정보를 포함 하는 경우 result 포함을 DateTimeKind 속성이 DateTimeKind.Local 메서드가 반환 합니다.If the string to be parsed contains time zone information, result contains a DateTime value whose Kind property is DateTimeKind.Local when the method returns.

호출자 참고

현재 속성의 영향을 받습니다 서식을 DateTimeFormatInfo 기본적으로에서 파생 되는 개체를 국가 및 언어 옵션 제어판 항목입니다.Formatting is influenced by properties of the current DateTimeFormatInfo object, which by default are derived from the Regional and Language Options item in Control Panel. 합니다 TryParse 예기치 않게 실패 하 고 반환할 수 메서드 False 하는 경우 현재 DateSeparatorTimeSeparator 속성이 동일한 값으로 설정 됩니다.The TryParse method can unexpectedly fail and return False if the current DateSeparator and TimeSeparator properties are set to the same value.

추가 정보

TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime) TryParse(String, IFormatProvider, DateTimeStyles, DateTime)

지정된 문화권별 형식 정보 및 서식 지정 스타일을 사용하여 날짜 및 시간의 지정된 문자열 표현을 해당 DateTime으로 변환하고 변환에 성공했는지를 나타내는 값을 반환합니다.Converts the specified string representation of a date and time to its DateTime equivalent using the specified culture-specific format information and formatting style, and returns a value that indicates whether the conversion succeeded.

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

매개 변수

s
String String String String

날짜와 시간이 포함된 변환할 문자열입니다.A string containing a date and time to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

s에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information about s.

styles
DateTimeStyles DateTimeStyles DateTimeStyles 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 DateTime 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이거나, 빈 문자열("")이거나, 날짜 및 시간에 유효한 문자열 표현을 포함하고 있지 않으면 변환에 실패합니다.The conversion fails if the s parameter is null, is an empty string (""), or does not contain a valid string representation of a date and time. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.This parameter is passed uninitialized.

반환

true 매개 변수가 변환되었으면 s이고, 그렇지 않으면 false입니다.true 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).

provider은(는) 중립 문화권이며 구문 분석 작업에 사용할 수 없습니다.provider is a neutral culture and cannot be used in a parsing operation.

예제

다음 예제는 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 메서드.The following example illustrates the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString;
      CultureInfo culture;
      DateTimeStyles styles;
      DateTime dateResult;
      
      // Parse a date and time with no styles.
      dateString = "03/01/2009 10:00 AM";
      culture = CultureInfo.CreateSpecificCulture("en-US");
      styles = DateTimeStyles.None;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", 
                           dateString);
      
      // Parse the same date and time with the AssumeLocal style.
      styles = DateTimeStyles.AssumeLocal;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
      
      // Parse a date and time that is assumed to be local.
      // This time is five hours behind UTC. The local system's time zone is 
      // eight hours behind UTC.
      dateString = "2009/03/01T10:00:00-5:00";
      styles = DateTimeStyles.AssumeLocal;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
      
      // Attempt to convert a string in improper ISO 8601 format.
      dateString = "03/01/2009T10:00:00-5:00";
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);

      // Assume a date and time string formatted for the fr-FR culture is the local 
      // time and convert it to UTC.
      dateString = "2008-03-01 10:00";
      culture = CultureInfo.CreateSpecificCulture("fr-FR");
      styles = DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeLocal;
      if (DateTime.TryParse(dateString, culture, styles, out dateResult))
         Console.WriteLine("{0} converted to {1} {2}.", 
                           dateString, dateResult, dateResult.Kind);
      else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString);

   }
}
// The example displays the following output to the console:
//       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
//       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
//       2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
//       Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
//       2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Imports System.Globalization

Public Module Example
   Public Sub Main()
      Dim dateString As String
      Dim culture As CultureInfo
      Dim styles As DateTimeStyles 
      Dim dateResult As DateTime
      
      ' Parse a date and time with no styles.
      dateString = "03/01/2009 10:00 AM"
      culture = CultureInfo.CreateSpecificCulture("en-US")
      styles = DateTimeStyles.None
      If DateTime.TryParse(dateString, culture, styles, dateResult) Then
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
      
      ' Parse the same date and time with the AssumeLocal style.
      styles = DateTimeStyles.AssumeLocal
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
      
      ' Parse a date and time that is assumed to be local.
      ' This time is five hours behind UTC. The local system's time zone is 
      ' eight hours behind UTC.
      dateString = "2009/03/01T10:00:00-5:00"
      styles = DateTimeStyles.AssumeLocal
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
      
      ' Attempt to convert a string in improper ISO 8601 format.
      dateString = "03/01/2009T10:00:00-5:00"
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      

      ' Assume a date and time string formatted for the fr-FR culture is the local 
      ' time and convert it to UTC.
      dateString = "2008-03-01 10:00"
      culture = CultureInfo.CreateSpecificCulture("fr-FR")
      styles = DateTimeStyles.AdjustToUniversal Or DateTimeStyles.AssumeLocal
      If DateTime.TryParse(dateString, culture, styles, dateResult)
         Console.WriteLine("{0} converted to {1} {2}.", _
                           dateString, dateResult, dateResult.Kind)
      Else
         Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
      End If      
   End Sub
End Module
' The example displays the following output to the console:
'       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
'       03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
'       2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
'       Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
'       2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.

설명

DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 메서드 날짜, 시간 및 표준 시간대 정보를 포함할 수 있는 문자열을 구문 분석 합니다.The DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method parses a string that can contain date, time, and time zone information. 비슷합니다는 DateTime.Parse(String, IFormatProvider, DateTimeStyles) 메서드는 DateTime.TryParse(String, DateTime) 메서드 변환에 실패 하면 예외를 throw 하지 않습니다.It is similar to the DateTime.Parse(String, IFormatProvider, DateTimeStyles) method, except that the DateTime.TryParse(String, DateTime) method does not throw an exception if the conversion fails.

이 메서드는 인식할 수 없는 데이터를 무시 하는 구문 분석 하려고 시도 s 완전히 합니다.This method attempts to ignore unrecognized data and parse s completely. 경우 s 번 하지만 날짜 없음, 기본 대체 현재 날짜에서 메서드를 포함 또는 styles 포함 된 NoCurrentDateDefault 대체 플래그를 DateTime.Date.MinValue.If s contains a time but no date, the method by default substitutes the current date or, if styles includes the NoCurrentDateDefault flag, it substitutes DateTime.Date.MinValue. 경우 s 날짜만 12: 00의 기본 시간으로 자정은 없는 시간을 포함 합니다.If s contains a date but no time, 12:00 midnight is used as the default time. 연간으로 변환 됩니다 날짜 제공 되었지만 두 자릿수 연도 구성 요소 구성에 provider 의 값을 기반으로 하는 매개 변수의 현재 달력을 Calendar.TwoDigitYearMax 속성.If a 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. 내부 조인, 선행 또는 후행 공백 문자 s 무시 됩니다.Any leading, inner, or trailing white space characters in s are ignored. 날짜 및 시간을 선행 및 후행 숫자 기호 문자 ('#', U + 00-23), 쌍을 사용 하 여 대괄호로 묶어야 하 고 하나를 사용 하 여 올 수 있습니다 또는 이상의 NULL 문자 (U + 0000)입니다.The date and time can be bracketed with a pair of leading and trailing NUMBER SIGN characters ('#', U+0023), and can be trailed with one or more NULL characters (U+0000).

날짜 및 시간 요소 뿐만 아니라 이름 및 날짜 및 시간에 사용 되는 기호에 대 한 특정 유효 형식에 의해 정의 됩니다는 provider 매개 변수를 다음 중 하나일 수 있습니다.Specific valid formats for date and time elements, as well as the names and symbols used in dates and times, are defined by the provider parameter, which can be any of the following:

providernull이면 현재 문화권이 사용됩니다.If provider is null, the current culture is used.

하는 경우 s 윤년의 현재 달력이 메서드 구문 분석에서 윤 일의 문자열 표현인 s 성공적으로 합니다.If s is the string representation of a leap day in a leap year in the current calendar, the method parses s successfully. 하는 경우 s 윤 일에서 비-윤년의 현재 달력의 문자열 표현입니다 provider구문 분석 작업이 실패 하 고 메서드 반환 false합니다.If s is the string representation of a leap day in a non-leap year in the current calendar of provider, the parse operation fails and the method returns false.

styles 매개 변수 정의 정확 하 게 구문 분석된 된 문자열 및 구문 분석 작업을 처리 해야 하는 방법을 설명 합니다.The styles parameter defines the precise interpretation of the parsed string and how the parse operation should handle it. 하나 이상의 멤버의 수를 DateTimeStyles 열거형에는 다음 표에 설명 된 대로 합니다.It can be one or more members of the DateTimeStyles enumeration, as described in the following table.

DateTimeStyles 멤버DateTimeStyles member 설명Description
AdjustToUniversal 구문 분석 s 필요한 UTC로 변환 하는 경우.Parses s and, if necessary, converts it to UTC. 경우 s 표준 시간대 오프셋을 포함 이거나 s 시간대 정보가 없습니다 있지만 styles 포함 합니다 DateTimeStyles.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 유효 하더라도이 값은 무시 됩니다.Although valid, this value is ignored. 날짜 및 시간 요소에 내부 공백을 허용 s합니다.Inner white space is permitted in the date and time elements of s.
AllowLeadingWhite 유효 하더라도이 값은 무시 됩니다.Although valid, this value is ignored. 날짜 및 시간 요소에 선행 공백이 허용 됩니다 s합니다.Leading white space is permitted in the date and time elements of s.
AllowTrailingWhite 유효 하더라도이 값은 무시 됩니다.Although valid, this value is ignored. 날짜 및 시간 요소에 허용 되는 후행 공백을 s합니다.Trailing white space is permitted in the date and time elements of s.
AllowWhiteSpaces 지정 s 선행, 내부 및 후행 공백을 포함할 수 있습니다.Specifies that s may contain leading, inner, and trailing white spaces. 이것은 기본적인 동작입니다.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 지정 합니다 s 표준 시간대 정보가 없으면 로컬 시간을 나타내는 것으로 가정 합니다.Specifies that if s lacks any time zone information, it is assumed to represent a local time. 경우가 아니면 합니다 DateTimeStyles.AdjustToUniversal 플래그가 없으면 합니다 Kind 반환 된 속성 DateTime 값으로 설정 됩니다 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.
None 유효 하더라도이 값은 무시 됩니다.Although valid, this value is ignored.
RoundtripKind 표준 시간대 정보가 포함 된 문자열의 경우 날짜 및 시간 문자열을 변환 하지 않으려면 시도 DateTime 값을 해당 Kind 속성으로 설정 DateTimeKind.Local합니다.For strings that contain time zone information, tries to prevent the conversion of a date and time string to a DateTime value with its Kind property set to DateTimeKind.Local. 호출 하 여 이러한 문자열은 생성 하는 일반적으로 DateTime.ToString(String) "o", "r" 또는 "u" 표준 서식 지정자를 사용 하는 방법입니다.Typically, such a string is created by calling the DateTime.ToString(String) method using either the "o", "r", or "u" standard format specifiers.

경우 s 표준 시간대 정보가 없습니다 합니다 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 메서드가 반환 되는 DateTimeKind 속성은 DateTimeKind.Unspecified 하지 않는 한를 styles 플래그 합니다.If s contains no time zone information, the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method returns a DateTime value whose Kind property is DateTimeKind.Unspecified unless a styles flag indicates otherwise. 하는 경우 s 표준 시간대 또는 표준 시간대 오프셋된 정보를 포함 합니다 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 메서드는 필요한 시간 변환을 수행 하 고 다음 중 하나를 반환 합니다.If s includes time zone or time zone offset information, the DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) method performs any necessary time conversion and returns one of the following:

사용 하 여이 동작을 재정의할 수는 DateTimeStyles.RoundtripKind 플래그입니다.This behavior can be overridden by using the DateTimeStyles.RoundtripKind flag.

사용자 지정 Culture를 구문 분석Parsing Custom Cultures

사용자 지정 문화권에 대 한 생성 된 날짜 및 시간 문자열을 구문 분석할 경우 사용 합니다 TryParseExact 메서드 대신는 TryParse 메서드를 구문 분석 작업이 성공할 확률이 높아집니다.If you parse a date and time string generated for a custom culture, use the TryParseExact method instead of the TryParse method to improve the probability that the parse operation will succeed. 사용자 지정 문화권 날짜 및 시간 문자열에는 복잡 하 고 구문 분석 하기 어려울 수 있습니다.A custom culture date and time string can be complicated and difficult to parse. TryParse 메서드는 실패할 수 있습니다는 모두 여러 암시적 구문 분석 패턴을 사용 하 여 문자열 구문 분석 하려고 시도 합니다.The TryParse method attempts to parse a string with several implicit parse patterns, all of which might fail. 반면,는 TryParseExact 메서드를 사용 하면 성공 가능성이 있는 정확한 구문 분석 패턴을 하나 이상의 명시적으로 지정 해야 합니다.In contrast, the TryParseExact method requires you to explicitly designate one or more exact parse patterns that are likely to succeed.

사용자 지정 culture에 대 한 자세한 내용은 참조는 System.Globalization.CultureAndRegionInfoBuilder 클래스입니다.For more information about custom cultures, see the System.Globalization.CultureAndRegionInfoBuilder class.

호출자 참고

현재 속성의 영향을 받습니다 서식을 DateTimeFormatInfo 제공 하는 개체는 provider 매개 변수입니다.Formatting is influenced by properties of the current DateTimeFormatInfo object, which is supplied by the provider parameter. 합니다 TryParse 예기치 않게 실패 하 고 반환할 수 메서드 False 하는 경우 현재 DateSeparatorTimeSeparator 속성이 동일한 값으로 설정 됩니다.The TryParse method can unexpectedly fail and return False if the current DateSeparator and TimeSeparator properties are set to the same value.

추가 정보

TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime) TryParse(ReadOnlySpan<Char>, DateTime)

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

매개 변수

반환

적용 대상