2010-02-02 3 views

답변

53

DateTime.ParseExact()를 사용하십시오. 같은 뭔가 : 당신이 .NET 2.0 이상에있는 경우 "yyyyMMdd"의 패턴 문자열

string date = "20100102"; 
    DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture); 
+0

@Dynami 다시 시도하십시오, 방금 적절한 형식으로 편집했습니다 (케이스 문제) –

+2

루크의 솔루션에 따르면 올바르게 작동하는 날짜 형식은 'yyyyMMdd'여야합니다. 다른 사람은 expew를 사용하고 있습니다 '문자열이 유효한 datetime으로 인식되지 않았습니다' – Sreedhar

11
DateTime.TryParseExact(myDateString, "yyyyMMdd", 
         CultureInfo.InvariantCulture, 
         DateTimeStyles.None, out myDateVar) 
+2

나는이 방법을 사용 : 그렇지 않은 경우는, 성공적으로 거짓 경우 대신 true를 반환합니다. 내가하지 않았을 때 기본값을 설정합니다. –

3
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null); 
3

TryParseExact를 사용하면 일반적으로 ParseExact보다 좋지만 변환에 실패하면 예외가 발생하지 않습니다. 그것은 나를 TryParseExact의 반환 값을 확인하고 날짜가 제대로 변환 알고 할 수 있기 때문에

DateTime dt; 
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) 
{ 
    Console.WriteLine(dt.ToString()); 
} 
관련 문제