2012-07-01 5 views
5

나는 C#에서 일반 논문 SQL 유효 기간문자열있는 경우 :일반 SQL 시간 형식을 C# (모든 유사어)로 변환 하시겠습니까?

(각 날짜 안에 다른 순서로 할 수있다)를 예를 들면, :

01 feb 2010 
feb 01 2010 
2010 01 feb 
... 
... 

내가 DateTime (C#을)에 문자열 날짜를 변환 할. 나에게 3! 조합을 정확한을 필요로 구문 분석하는 동안 어떤 더 나은 솔루션이,

(나는 목록 위에서 모든 형식을 변환 할 수있는 기능을 원하는)? 나는 그것을 가지고 생각

+1

3! 단 6 ... 그러나, 당신은 방금 공간에 분할 수 있으며, 각 청크가 alphas, 4 자리 또는 2 자리 여부를 알아낼 ... Btw - 이것은 SQL과 어떤 관련이 있습니까? –

+0

그래 내가 살아야 할 strted 이잖아, 알고 ...하지만 난 계속하기 전에 다시 바로 확인하면 다른 솔루션 년 –

+0

4 자리, 월 3 개 문자, 하루에 2 자리. 일치하는 그룹과 함께 정규식을 사용할 수 있으며 정확한 구문 분석을 수행 할 수 있습니다. –

답변

2

... enter image description here

string[] str = new[] { "01 feb 2010","feb 01 2010","2010 01 feb","2010 feb 01","feb 2010 01" }; 
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US"); 
CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US");      
for (int i = 0; i < str.Length; i++) 
{ 
    DateTime t = DateTime.Parse(str[i], culture); 
    t.Dump(); 
} 
+1

'CurrentThread.CurrentCulture'를 설정 (오염) 할 필요가 없습니다. 'Parse (..., culture)'로 충분할 것입니다. –

+0

@HenkHolterman yep ... 비록 내가 그것을 표시 할 때 (내 컴퓨터는 dd/MM/yyyy에서) 순서를 바꾸지 만 그것은 나를 보여줍니다 : 01/02/2010 ....하지만 단지 (관련이없는) –

+0

'Dump()'는 무엇을하나요? – abatishchev