2011-04-30 6 views
0

문자열의 형식이 "dd.MM.yyyy HH:mm:ss.mmm"인지 어떻게 확인할 수 있습니까? 예를 들어문자열을 확인하는 방법은 특정 날짜 형식입니까?

:

 
12.01.2011 13:26:10.000 
13.05.2010 22:30:20.000 

이 승인되어야한다는, 다른 사람은 거부되어야한다. 이 날짜 형식의 예외가없는 경우

을 발생합니다 ...

string c = "12.01.2011 13:26:10.000"; 

if (string.CompareFormat(c)) 
{ 
    // do something 
} 
else 
{ 
    // do something else 
} 

답변

2

당신은 TryParseExact를 사용할 수 있습니다

 string format = "dd.MM.yyyy HH:mm:ss.fff"; 
     string c = "12.01.2011 13:26:10.000"; 
     CultureInfo enUS = new CultureInfo("en-US"); 

     DateTime result; 
     if (DateTime.TryParseExact(c, format, enUS, DateTimeStyles.None, out result)) 
     { 
      Console.WriteLine("Right Format"); 
     } 
     else 
     { 
      Console.WriteLine("Wrong Format");     
     } 
0
try 
      { 
       string c = "12.01.2011 13:26:10.000"; 
       DateTime dt = Convert.ToDateTime(c.ToString()); 
      } 
      catch (Exception ex) 
      { 
       //Rejected 
      } 

또는 TryParse를 사용할 수 있습니다 내가 좋아하는 뭔가를 할 수 있도록하려면

string c = "12.01.2011 13:26:10.000"; 
       DateTime dt; 
       if(!DateTime.TryParse(c,out dt)) 
       { 
       //rejected 
       } 
+0

이 너무 느립니다, 당신은 TryParse – derya

+0

: 당신이 너무 느린 의미합니까? 실적 기준은 무엇입니까? – Nighil

+0

@derya을 사용할 수 있습니다) –

1

원하는 날짜 형식으로 TryParseExact을 사용하십시오. 이렇게하면 일반 형식 인 Parse/TryParse과 대조적으로이 특정 형식 만 일치하는지 확인할 수 있습니다.

string c = "12.01.2011 13:26:10.000"; 
DateTime result; 
if (DateTime.TryParseExact(c, "dd.MM.yyyy HH:mm:ss.fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) { 
    // do something 
} else { 
    // do something else 
} 
관련 문제