2012-07-27 2 views
0

DateTime.ParseExact 메서드의 경우 스웨덴어 (sv-SE) culture의 경우 이상한 동작이 관찰됩니다.DateTime.ParseExact는 시간이 오후에있을 때 sv-SE culture에 대해 FormatException을 throw합니다.

내 컴퓨터의 문화는 en-US이지만 비즈니스 로직에는 sv-SE 문화권이 필요합니다. 그래서 나는 현재 스레드에서 먼저 설정합니다.

Thread.CurrentThread.CurrentUICulture = new CultureInfo("sv-SE"); 

은 그럼하여 DateTime 값을 구문 분석 할 다음을 수행합니다. 여기서 구문 분석하려고하는 날짜/시간은 오전 11:57, 2012 년 5 월 27 일입니다.

DateTime.ParseExact("270512T11:57", "ddMMyyThh:mm", Thread.CurrentThread.CurrentUICulture); 

잘 작동합니다.

하지만 밤이 지나면 예외가 발생합니다. 2012 년 5 월 27 일 오후 11시 57 분에 의 datetime 스탬프를 구문 분석하려고 시도하면입니다.

DateTime.ParseExact("270512T23:57", "ddMMyyThh:mm", Thread.CurrentThread.CurrentUICulture); 

위의 라인은 문자열이 유효한 날짜 시간으로 인식되지 않은 메시지 FormatException을 제공합니다..

무엇이 실제로 잘못 되었나요?

+0

'hh'를 'HH'로 바꾸어 보았습니까? – ken2k

답변

6

hh는 12 시간제입니다. 형식 문자열을 "ddMMyyTHH : mm"로 변경하면 제대로 작동합니다.

관련 문제