2010-04-01 2 views
37

다음 형식 "ORDER20100322194007" 문자열이 있습니다. 20100322은 날짜이고 194007은 시간입니다. 문자열을 구문 분석하고 포함 된 DateTime 객체를 가져 오는 방법은 무엇입니까?사용자 정의 형식으로 날짜와 시간을 포함하는 문자열을 구문 분석합니다.

+1

좋은 질문입니다. 아마 ".NET에서 사용자 정의 날짜 형식의 DateTime 구문 분석"과 같은 제목을 변경해야합니다. –

+0

그래, 나도 동의합니다. – akrisanov

답변

76

항상 ORDER으로 시작합니까?

string pattern = "'ORDER'yyyyMMddHHmmss"; 
DateTime dt; 
if (DateTime.TryParseExact(text, pattern, CultureInfo.InvariantCulture, 
          DateTimeStyles.None, 
          out dt)) 
{ 
    // dt is the parsed value 
} 
else 
{ 
    // Invalid string 
} 

항상 당신이 단지를 얻기 위해 필요 무엇이든 할 "ORDER"로 시작하지 않으면 문자열 예외를 발생한다 무효되고, 그럼 대신 DateTime.TryParseExact

DateTime.ParseExact를 사용하는 경우

날짜 및 시간 부분을 삭제하고 위의 형식 패턴에서 "ORDER"를 제거하십시오.

8

DateTime.ParseExact 메서드를 사용하여 구문 분석하는 동안 사용할 형식을 지정할 수 있습니다.

1

문자열의 구조가 고정되어 있지 않은 경우 순서가 항상 존재하지 않는다고 말하면 정규식을 사용하여 숫자와 문자를 분리 한 다음 분리 된 숫자에 대해 datetime 함수로 변환을 사용할 수 있습니다.

관련 문제