2010-03-09 3 views
3

DateTime.TryParse은 이탈리아어로 지역 설정을 변경할 때 Windows 7에서 실패합니다. TryParseExact을 시도했지만 심지어 운이 없었습니다. 아무도 이것에 대한 아이디어가 없거나 이런 유형의 시나리오를 보았습니까?Windows 7에서 DateTime.TryParse()가 실패 함

코드는 다음과 같은 몇 가지 일 :

string[] formats = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", "M/d/yyyy h:mm", "M/d/yyyy h:mm", "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm", "dd/MM/yyyy HH:mm"}; 
if (DateTime.TryParseExact(cb.Text, formats, CultureInfo.InVariantCulture, DateTimeStyles.AllowLeadingWhite, out date_and_time)) 

하지만 false를 반환합니다.

또는 시도

:

if (DateTime.TryParse(cb.Text, CultureInfo.InvariantCulture, DateTimeStyles.None,out date_and_time) == true)` 

cb.Text는 문자열 표현의 날짜 시간을 포함하는 문자열입니다.

+0

사용중인 코드의 예가 도움이 될 것입니다. – btlog

+0

어떻게 실패하는지 자세히 설명해 주시겠습니까? – Paddy

+2

구문 분석하려는 날짜와 구문 분석 할 코드의 예를 제공하십시오. 필자는 Win7을 오랫동안 사용해 왔으며 DateTime 구문 분석과 관련하여 문제가 없었습니다. 나는 당신의 날짜 텍스트가 하나의 문화 포맷/사용자 정의 포맷에 있고 당신이 날짜 텍스트를 분석 할 수없는 기본 cultureinfo를 사용하여 그것을 분석하려고하고 있다고 의심합니다. –

답변

0

중립적 인 CultureInfo로 호출 해 보았습니까?

DateTime parsed; 

if(DateTime.TryParse("2010-03-09", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsed)) 
    Console.WriteLine(parsed) 

또는 이탈리아어로 TryParseExact

DateTime.TryParseExact("2010-03-09", "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsed) 
+1

시도했습니다. 그러나 일하지 않았다. – Sunil

+0

실패하는 방법에 대한 정보를 좀 더 제공해 주실 수 있습니까? 이상적인 코드 샘플. –

0

에 대해이 같이

시간 구분 토큰이 확인됩니다. 대신 :

시도는 예를 들어 작은 따옴표 시간 분리 토큰 탈출 :

"M/d/yyyy h':'mm':'ss tt" 
관련 문제