2013-04-05 6 views
-1

날짜 값에서 문자열 값을 변환하려고합니다. 나는이 질문을 여러 번 물었습니다. 그러나 나는 대부분 모든 답을 확인했다. 하지만 내 문제에 대한 답변을 얻지 못했습니다.DateTime.ParseExact() 함수로 문자열을 변환하는 중 오류가 발생했습니다.

string ObjTime = "5/4/2013 10:30 PM"; 

DateTime d = DateTime.ParseExact(ObjTime, "dd/MM/yyyy H:mm", CultureInfo.CurrentCulture); 

나는 또한 내 시스템 날짜 형식을 chenging에 의해 확인했다 : 다음

내 코드입니다.

그리고 또한 내가 이것을 사용했다 :

DateTime d = DateTime.ParseExact(ObjTime, "d/M/yyyy H:mm tt", CultureInfo.CurrentCulture); 

중 하나가 나에게이 문제를 해결하는 데 도움이시겠습니까?

또한 형식을 d/m/yyy H:mm으로 변경하여 확인했지만 여전히 오류가 발생합니다. Visual Studio 2012을 사용하고 있습니다.

답변

1

귀하의 문자열을 한 자리에서 월과 일을 가지고, 당신은 가 지원하는 형식으로 만 두 자릿수 일/월과 구문 분석하려고

당신은해야한다 :

string ObjTime = "5/4/2013 10:30 PM"; 
DateTime d = DateTime.ParseExact(ObjTime, "d/M/yyyy h:mm tt", CultureInfo.CurrentCulture); 

당신은 사용해야하는 단일 한 자리와 두 자릿수 일/분석을위한 달을 지원하는 것입니다 dM. 당신이 문자열에 PM이 있기 때문에

또한 소문자를 h를 사용해야합니다. 따라서 최종 형식은 "d/M/yyyy h:mm tt"

+0

나는 질문에서 지정한'd/m/yyy H : mm'을 사용해 보았습니다. –

+0

형식은''d/M/yyyy h : mm tt "'이어야합니다. 업데이트 된 답변을 확인하십시오 – Habib

+0

예. 업데이트 된 질문을 확인하십시오. –

1

형식 문자열을 명시 적으로 지정하는 대신이 형식이 유효한 culture를 지정해보십시오. EN-US 문화를 들면 :

DateTime.Parse(ObjTime, CultureInfo.GetCultureInfo("en-us")); 
+0

당신이 m을 말할 수 확인 작업 e 어떻게 할 수 있습니까? –

2

이어야합니다. 문제를 확인한 결과 문자열이 올바른 형식이 아니기 때문에 ParseExact에서 오류가 발생했습니다. 당신이

string ObjTime = "5/4/2013 10:30 PM"; 

에서

string ObjTime = "05/04/2013 10:30 PM"; 

에 문자열을 변경하는 경우

이 코드는

는 또한이

enter image description here

+0

ParseExact는 지정된 형식을 취할 것이고, 원래 문자열을 수정할 필요가 없습니다. – Habib

+0

오른쪽 .. 고맙습니다 @ 하비브 ..하지만 위의 작품이 ... 내 주위에 방법 같아요. 문제는 정확한 완벽한 해결책이 아닙니다. 더 확인하자. – pordi

+0

환영합니다 ... @Ons – Arshad

관련 문제