2010-01-27 3 views
7

DataTime 값을 나타내는 문자열이 있는데이 문자열을 만드는 데 사용 된 문자열 형식을 알고 싶습니다. 예를
를 들어운동 DateTime 서식 지정에 사용되는 문자열 형식

- 감안할 때 "수요일 27 년 1 월 2010"나는 기대 "DDDD DD MMM 일"
- "2010 01 27"나는

날짜가 가까이 있다고 가정 "YYYY MM은 dd는"예상을 감안할 때 DateTime.Now 및 CurrentCulture 관련이 있습니다. 그래서 우리는 en-GB 문화를 가지고 있습니다.
- "d 01 MM yyyy"가 있습니다.

간단한 방법이 있습니까?

+0

죄송 Sophie88에게 물어 평등에 대한 해석 날짜의합니다 (infered 형식을 사용하여) 포맷 버전에 대한 시킴으로 빨리 테스트에 다음 공백 분할을 사용 DateTime.Parse를 형식을 유추 할 수 있지만, 왜 나쁜 너 이걸 할거야? – Lazarus

+0

(아마도) 멍청한 의견이긴하지만 그 날짜 중 어느 것도 DateTime.Parse (또는 TryParse)에 전달할 수 있으며 날짜를 올바르게 구문 분석 할 수 있습니다. 그러나 당신은 그들이 당신에게 전달되는 형식으로 날짜를 반환해야한다고 가정하므로, 그들이 도착하는 형식을 알아야합니다. –

+0

삼촌을 위해 오래된 프로그램의 일부 출력을 파싱하고 "수요일" 그것은 "dddd"부분이므로 무시할 수 있습니다. – Sophie88

답변

0

당신이 가정 찾을 경우 "수요일"을 검색하는 경우 네 자리 숫자, 당신은 일> (12)을 테스트 할 수있는 문제가 될 수

일 달 YYYY 가정하지만 꽤입니다

경우 "DDDD"

어쩌면 당신이

+0

현재 문화권에서는 요일의 이름을 어떻게 든 확인할 수 있습니까? – Sophie88

+0

현재 문화권을 기준으로 두 자리 일 및 월 순서를 가정 할 수 있지만 "이전 소프트웨어"가 현재 문화권을 존중하지 않을 수 있습니다 – PeanutPower

+0

@ Sophie88 : 예, CultureInfo 클래스의 DateTimeFormat 속성을 사용할 수 있습니다 이 클래스에는 그 문화권의 요일 이름 목록을 반환하는 DayNames라는 속성이 있습니다. –

1

가장 간단한 방법은 datetime 형식 문자열에 대해 the reference을보고 작업하는 것입니다.

리플렉션을 사용하여 이것을 가져 오거나 디스어셈블러 (예 : ILDASM)를 사용하여 어셈블리에 사용 된 모든 문자열을 찾고 어느 것이 datetime 형식화 문자열인지 추측 할 수 있습니다.

disassmbling의 경우 요일과 dddd으로 시작하는 문자열을 검색 할 수 있습니다.이 문자열은 원본 구성 방법을 알려줍니다.

당신은 다음 형식을

예를 추측하려고 알려진 값에 대한 배열의 요소를 테스트 할 수있는 문자열 의 배열을 얻을 공백에 분할 할 수