2017-03-05 3 views
0

This is the error. sam code parse same value in my other project, but not working in current project 예외 유형 "System.FormatException는"mscorlib.dll에서 추가 정보를 원하시면 발생 : 문자열 valide 날짜 시간으로 인식되지 않은날짜 시간 구문 분석 오류

DateTime temp = DateTime.ParseExact(dataGridView1.Rows[i].Cells["Date/Time"].Value.ToString(), "dd/MM/yyyy HH:mm", null); 
       DateTime tempnext = DateTime.ParseExact(dataGridView1.Rows[i + 1].Cells["Date/Time"].Value.ToString(), "dd/MM/yyyy HH:mm", null); 
+2

오류가 발생하는 곳의 코드 게시 – CaptainHere

+0

작은 이미지는 거의 볼 수 없습니다. 디버거를 사용하여 예외가 throw 될 때 구문 분석하려는 값을 검사합니다. –

+0

@CaptainMagikarp 거기에 가세요 ... 다시 확인하십시오 –

답변

1

이 하나 개의 프로젝트에서 작동하는 경우가 아닌 다른, 그것을 Culture 문제 일 수 있습니다.

당신은 시도 할 수 있습니다 :

DateTime dateTime = DateTime.ParseExact(dataGridView1.Rows[i].Cells["Date/Time"].Value.ToString(), "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture); 

이 단지 1 잘못된 값이 전체 프로그램이 파괴되지 않도록 누군가가 입력 한 인 경우에, TryParse() 또는 TryParseExact()을 고려할 수도 있지만.

+0

고맙습니다. 나는 나를 위해 도움이 될 수도 –

1
당신은 를 사용하여 형식 dd/MM/yyyy HH:mm와 'DateTime.Parse 정확한()'하고

하지만 귀하의 의견 만 형식 HH:m 또는 H:m13:1입니다.

당신이 ParseExact을 사용하기 때문에 사용자가 지정한대로 작동하도록 당신이 05/03/2017 13:01 같은 입력을 필요하므로 입력의 동일한 형식이어야합니다.

DateTime.Parse() 또는 이미 제안 된대로 DateTime.TryParseExact()을 사용하여 응용 프로그램을 손상시키지 않고 입력을 확인하십시오.

+0

미안 입력은 당신이 14/10/2017 13:01처럼 언급 한 동일합니다. 나는 단지 입력에서 13:01을 얻고 싶다. –

+0

@MuhammadHamza : 그러면 우리가 시작한 곳으로 돌아 간다. 그게 정확한 ** _ 입력이라고 확신합니까? 'Autos' 창에서 그렇게 말하는가? - 내가 스크린 샷에서 만들 수있는 것과 다른 형식을 사용하고있는 것을 봅니다. 문제의 현재 하나가 작동해야합니다. –

+0

그것은 문화의 문제였습니다 ... 고맙습니다. ... 당신은 매우 도움이됩니다. –