2011-10-18 3 views
0

오스트레일리아 시간대와 함께 작업하고 있습니다. Parse Exact로 시도 할 때 항상 예외가 발생합니다.이 문제는 어떻게 해결할 수 있습니까? 호주 표준 시간대에서 작동하는 솔루션이 필요합니다. 당신이 "MM/DD/YYYY"와 같은 포맷을 사용하는 경우DateTime.Parse 문제 오스트레일리아 시간대

DateTime fdt = DateTime.ParseExact(FromDate, "MM/dd/yyyy", null) 
+2

"DD/MM은/년"형식을. 'FromDate' 텍스트는 어떻게 생겼습니까? – Enigmativity

+0

어떤 예외가 발생하며 구문 분석하려는 값은 무엇입니까? 필자가 알고있는 한 'DateTime.ParseExact'는 사용자가 형식을 사용하지 않는 한 시간대를 전혀 사용하지 않습니다. –

+0

무슨 예외입니까? 왜 문화는 '무효'입니까? –

답변

0

는 구문 분석 시간대와의를 할 수 없다. 그것은 단지 날짜를 구문 분석 포맷터에서 형식을 사용합니다. 이 경우 Month/days/year

+0

오스트레일리아 표준 시간대를 추가하여이 코드를 수정할 수있는 방법 – user731060

+1

서식 문자열을 사용하지 않으면 현재 스레드의 culture 설정이 적용됩니다. 하지만 "dd/MM/yyyy"와 같은 형식 문자열을 찾고 있다고 생각합니다. – Peter

+0

나는 또한 System.Globalization.CultureInfo 공급자 시도했습니다 System.Globalization.CultureInfo.InvariantCulture; 문자열 형식 = "M/dd/yy"; fdt = DateTime.ParseExact (FromDate, "MM/dd/yy", null); 그 때에도 내가 수식을받습니다. { "문자열로 표시된 DateTime은 System.Globalization.GregorianCalendar 달력에서 지원되지 않습니다."} – user731060

0

ParseExact 메서드 null IFormatProvider 매개 변수 값에 전달하면 날짜 문자열을 구문 분석하기 위해 DateTimeFormatInfo.CurrentInfo 값을 사용합니다. 컴퓨터 문화권에 '/'(즉 점 문자)와 다른 DateTimeFormatInfo.DateSeparator가 있으면 날짜 구분 기호로 슬래시를 사용하는 날짜 문자열을 파싱 할 수 없습니다.

봅니다이 사용하는 : DateTime.ParseExact("10/30/11", "MM/dd/yy", CultureInfo.InvariantCulture); 또는 경우에 당신은 호주 형식이 문자열이를 사용할 수 있다는 것을 알고 확실히됩니다 DateTime.ParseExact("10/30/11", "MM/dd/yy", CultureInfo.GetCultureInfo("en-AU")) 호주는 일반적으로 사용