2009-11-03 7 views
1

날짜가 .net 라이브러리가 지원하는 것과 일치하지 않는 경우에도 문자열의 날짜를 DateTime 유형으로 변환하려면 어떻게해야합니까?문자열을 날짜로 변환

"dec 2 2009" 
"dec 2, 2009" 
"dec 2009" 
"december 2009" 
"dec. 2009" 
"dec. 2, 2009" 
and so on 

라이브러리가 있습니까?

MyDateTime = DateTime.ParseExact(MyString, "yyyy-MM-dd HH:mm tt", null); 

... 또는 적합한 날짜 형식이 무엇이든 ...

참조 : DateTime.ParseExact

+1

날짜의 자유 형식 사양은 허용 여기

은 예입니다 문제. 2009/10/9에 대한 명확한 구문 분석이 없습니다. 즉, 하루가 12 이하이면 월과 일을 구별 할 수 없습니다. –

답변

2

시도를 가정 .net 라이브러리가 지원하는 것과 일치하지 않습니다. "

"이것에 대한 라이브러리가 있습니까?"

라이브러리를 원할 때 라이브러리가 라이브러리를 지원하지 않는 경우를 원하십니까?

분명히 다른 사람들은 아마도 다른 날짜/시간 문자열 파서를 작성했을 것입니다. 그러나 이들 중 어느 것도 당신이 필요로 할 수도있는 모든 것을 망라하지 않을 것입니다 - 당신이 기대하는 형식으로 작동하는 것을 찾으십시오.

+0

문제는 사용자가 무엇을 입력할지 모릅니다. – newmem

+0

그런 다음 regexes를 사용하여 날짜가 제공된 형식을 판별하고 해당 형식을 ParseExact에 제공하십시오. –

0

"경우에도 날짜

는 날짜 형식 우리에게

2

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx에 맞춤 형식이 결합 된에 DateTime.ParseExact를 확인하십시오. 당신이

ParseExact

예에 시도 할 수 있습니다 내가 당신의 질문

을 이해한다면

... 
DateTime.TryParseExact(s, "%M %d yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out resultDateTime) 
... 
2

: DateTime.ParseExact(sDate, "mm/dd/yyyy", CultureInfo.InvariantCulture);

관련 문제